查看“Debian Base 系统使用”的源代码
←
Debian Base 系统使用
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==基础信息== *用户密码 <syntaxhighlight lang="bash"> user: root passwd: root </syntaxhighlight> ==使用示例== ===视频硬件编解码=== *使用gstreamer播放视频 <syntaxhighlight lang="bash"> $ gst-play-1.0 /usr/local/test.mp4 </syntaxhighlight> [[文件:277317066.jpg|frameless|650px]]<br /> <br /> *播放4K视频 <syntaxhighlight lang="bash"> $ gst-launch-1.0 playbin uri=file:///root/4k.mp4 </syntaxhighlight> [[文件:531422585.jpg|frameless|650px]]<br /> <br /> *列出一些gstreamer命令 <syntaxhighlight lang="bash"> $ gst-launch-1.0 playbin uri=file:///usr/local/test.mp4 $ gst-launch-1.0 uridecodebin uri=file:///usr/local/test.mp4 ! kmssink $ gst-launch-1.0 filesrc location=/usr/local/test.mp4 ! queue ! qtdemux name=dmux dmux.video_0 ! queue ! h264parse ! mppvideodec ! kmssink dmux.audio_0 ! queue ! aacparse ! faad ! autoaudiosink $ gst-inspect-1.0 kmssink # 查看插件信息 $ gst-discoverer-1.0 /usr/local/test.mp4 # 查看视频信息 </syntaxhighlight> ===OpenCL=== *安装并运行<code>clinfo</code>,查看OpenCL相关信息 <syntaxhighlight lang="bash"> $ sudo apt-get install -f -y clinfo $ clinfo Number of platforms 1 Platform Name ARM Platform Platform Vendor ARM Platform Version OpenCL 1.2 v1.r14p0-01rel0-git(a79caef).8ddfd7584149d9238dced4e406610de7 Platform Profile FULL_PROFILE Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addy Platform Extensions function suffix ARM Platform Name ARM Platform Number of devices 1 Device Name Mali-T860 Device Vendor ARM Device Vendor ID 0x8602000 Device Version OpenCL 1.2 v1.r14p0-01rel0-git(a79caef).8ddfd7584149d9238dced4e406610de7 Driver Version 1.2 Device OpenCL C Version OpenCL C 1.2 v1.r14p0-01rel0-git(a79caef).8ddfd7584149d9238dced4e406610de7 Device Type GPU Device Profile FULL_PROFILE Max compute units 4 Max clock frequency 800MHz Device Partition (core) Max number of sub-devices 0 Supported partition types None Max work item dimensions 3 Max work item sizes 256x256x256 Max work group size 256 ... </syntaxhighlight> ===网络设置=== 系统下有ifupdown和network-manager两套软件在管理网络,ifupdown的配置文件为/etc/network/interfaces,network-manager通过命令行nmcli来设置网络。network-manager功能更强大,对于/etc/network/interfaces中声明过的网络接口network-manager默认不再管理。系统默认没有对/etc/network/interfaces进行设置,从而network-manager接管了eth0,配置了DHCP *使用ifupdown设置网络 编辑/etc/network/interfaces,参考设置如下:<br /> <syntaxhighlight lang="bash"> auto eth0 iface eth0 inet static address 192.168.0.10 gateway 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 dns-nameservers 1.2.4.8 114.114.114.114 </syntaxhighlight> 重启系统生效 *使用network-manager的命令行工具nmcli设置网络 常用命令: <syntaxhighlight lang="bash"> $ nmcli connection show # 查看连接 $ nmcli device status # 查看网络接口状态 $ nmcli device show # 查看网络接口网络信息 $ nmcli general status # 查看总体状态 $ nmcli connection add con-name "my_connection" type ethernet ifname eth0 # 添加连接 $ nmcli connection up my_connection # 使用连接 $ nmcli connection down my_connection # 不使用连接 $ nmcli connection delete my_connection # 删除连接 $ nmcli connection show id my_connection # 查看连接详细信息 </syntaxhighlight> 设置静态IP命令参考如下:<br /> <syntaxhighlight lang="bash"> $ nmcli connection add con-name my_static_ip ifname eth0 type ethernet ip4 192.168.0.10/24 gw4 192.168.0.1 # 添加名为"my_static_ip"的静态IP连接 # 生成配置文件/etc/NetworkManager/system-connections/my_static_ip $ nmcli connection modify my_static_ip ipv4.dns "1.2.4.8 8.8.8.8" # 设置DNS $ nmcli connection up my_static_ip # 使用连接 $ nmcli connection down my_static_ip # 不使用连接 $ nmcli connection delete my_static_ip # 删除连接 </syntaxhighlight> 设置动态IP命令参考如下:<br /> <syntaxhighlight lang="bash"> $ nmcli connection add con-name my_dynamic_ip ifname eth0 type ethernet # 添加名为"my_dynamic_ip"的动态IP连接 # 生成配置文件/etc/NetworkManager/system-connections/my_dynamic_ip $ nmcli connection up my_dynamic_ip # 使用连接 $ nmcli connection down my_dynamic_ip # 不使用连接 $ nmcli connection delete my_dynamic_ip # 删除连接 </syntaxhighlight> 连接wifi命令参考如下:<br /> <syntaxhighlight lang="bash"> $ nmcli device wifi list # 查看wifi列表 $ nmcli device wifi connect norco_2.4G password norco85258506 # 连接wifi # 生成配置文件/etc/NetworkManager/system-connections/norco_2.4G $ nmcli connection down norco_2.4G # 关闭连接 $ nmcli connection delete norco_2.4G # 删除连接 $ nmcli radio wifi off # 关闭wifi $ nmcli radio wifi on # 打开wifi </syntaxhighlight> 创建Wifi热点:<br /> <syntaxhighlight lang="bash"> $ nmcli dev wifi hotspot ifname wlan0 ssid test password "12345678" # 创建名为"test"的wifi热点 </syntaxhighlight> {{模板:RKExportPackFirmware}} ==QT开发== ===qt程序测试脚本=== 系统中添加了qt_test.sh和qt_test_touchscreen.sh测试脚本,在系统终端下直接运行<br /> <br /> '''基于linuxfb或eglfs显示运行qt程序'''<br /> <syntaxhighlight lang="bash"> $ qt_test.sh linuxfb $ qt_test.sh eglfs </syntaxhighlight> [[文件:1365219484.jpg|frameless|650px]]<br /> <br /> '''基于libinput或tslib或evdev适配触摸屏运行qt程序'''<br /> <syntaxhighlight lang="bash"> $ qt_test_touchscreen.sh libinput $ qt_test_touchscreen.sh tslib $ qt_test_touchscreen.sh evdev </syntaxhighlight> [[文件:285324002.jpg|frameless|650px]]<br /> <br /> 注意:在一次开机系统运行过程中,若使用了DRM,则不可再直接操作FB。在qt_test.sh脚本中启用了QT_QPA_FB_DRM=1,而qt_test_touchscreen.sh脚本为了可能会使用到tslib校准程序没有设置QT_QPA_FB_DRM,一次开机仅可选择其中一个脚本执行<br /> ===搭建qt开发环境=== 主机PC端环境为Ubuntu16.04,目标板系统为debian base系统,默认使用root用户自动登录,并支持root用户ssh远程登录,系统中移植了qt,支持eglfs、linuxfb显示插件。 SDK与系统镜像一同发布,从相应的烧录包中获取SDK。SDK中包含交叉编译工具链、qmake、与目标板系统qt环境。解压SDK到任意目录$TOP_DIR(示例中以路径/opt/data为例),并运行开发环境配置脚本<br /> <syntaxhighlight lang="bash"> $ tar host.tar.gz -C $TOP_DIR $ cd $TOP_DIR/host $ ./relocate-sdk.sh </syntaxhighlight> ===使用终端命令行编译运行qt程序=== qt程序使用SDK中的qt5 examples例程,通过qmake、make命令进行编译 <syntaxhighlight lang="bash"> $ export PATH=$TOP_DIR/host/bin:$PATH $ cd $TOP_DIR/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/opengl/hellowindow $ qmake $ make </syntaxhighlight> 生成hellowindow程序,可通过scp拷贝到目标板中,并配置qt运行环境变量后运行<br /> <syntaxhighlight lang="bash"> $ scp hellowindow root@10.168.1.157: $ ssh root@10.168.1.157 $ export LD_LIBRARY_PATH=/opt/data/target/usr/lib $ export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/data/target/usr/lib/qt/plugins </syntaxhighlight> 指定eglfs显示插件运行程序<br /> <syntaxhighlight lang="bash"> $ ./hellowindow -platform eglfs </syntaxhighlight> [[文件:Projects 0.jpg|frameless|650px]]<br /> <br /> 指定linuxfb显示插件运行程序<br /> <syntaxhighlight lang="bash"> $ ./calculator -platform linuxfb </syntaxhighlight> ===使用qtcreator开发调试qt程序=== qtcreator集成编辑、编译、运行、调试环境于一体,提升开发效率<br /> <br /> '''安装qtcreator'''<br /> <syntaxhighlight lang="bash"> $ sudo apt-get install qtcreator </syntaxhighlight> <br /> '''添加Qt Versions'''<br /> Tools --> Options --> Build & Run --> Qt Versions --> Add --> 选中qmake路径 --> Apply<br /> [[文件:Screenshot from 2020-08-11 14-23-21.png|frameless|650px]]<br /> <br /> <br /> '''添加Compilers'''<br /> Tools --> Options --> Build & Run --> Compilers --> Add --> GCC -- 选中g++路径 --> Apply<br /> 注意:选中g++路径,并修改ABI一栏明确指示平台架构为arm<br /> [[文件:Screenshot from 2020-08-11 14-21-33.png|frameless|650px]]<br /> <br /> <br /> '''添加Debuggers(可选项)'''<br /> Tools --> Options --> Build & Run --> Debuggers --> Add --> 选中gdb路径 --> Apply<br /> [[文件:Screenshot from 2020-08-11 14-21-51.png|frameless|650px]]<br /> <br /> <br /> '''添加Devices(可选项)'''<br /> Tools --> Options --> Devices --> Add --> General Linux Device --> start Wizard<br /> GDB Server executable路径为: /opt/data/target/usr/bin/gdbserver<br /> [[文件:Screenshot from 2020-08-11 14-24-23.png|frameless|650px]]<br /> <br /> 并点击"Test"测试设备联通'''<br /> [[文件:Device Test.png]]<br /> <br /> <br /> '''添加Kits'''<br /> Tools --> Options --> Build & Run --> Kits --> Add --> Apply<br /> [[文件:Screenshot from 2020-08-11 14-25-12.png|frameless|650px]]<br /> <br /> <br /> '''打开 calculator 工程并选择Kits'''<br /> Welcome --> Open Porject --> 选择工程路径 /opt/data/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/widgets/widgets/calculator/calculator.pro --> Configure Project<br /> [[文件:Screenshot from 2020-08-11 17-04-50.png|frameless|650px]]<br /> <br /> <br /> '''编译运行 calculator'''<br /> Build --> Build Project "calculator" --> 重启qtcreator<br /> Projects --> debian-kit --> Run<br /> 注意:找到 Run Environment --> Details --> Batch Edit 添加QT运行环境变量<br /> [[文件:Screenshot from 2020-08-11 17-13-29.png|1560px|frameless|650px]]<br /> <br /> Build --> Run<br /> [[文件:481762326.jpg|1560px|frameless|650px]]<br /> <br /> <br /> '''配置debug模式'''<br /> Projects --> debian-kit --> Build<br /> 注意:找到 Build Steps --> qmake --> Details --> Additional arguments --> 添加 QMAKE_CXXFLAGS+=-g<br /> [[文件:Screenshot from 2020-08-11 17-36-06.png|1560px|frameless|650px]]<br /> <br /> <br /> '''重新编译并调试运行'''<br /> Build --> Clean Project "calculator"<br /> Debug --> Start Debugging --> Start Debugging<br /> [[文件:Screenshot from 2020-08-11 17-33-48.png|1560px|frameless|650px]]<br /> <br /> [[文件:378111369.jpg|1560px|frameless|650px]]<br /> <br /> <br />
该页面使用的模板:
模板:RKExportPackFirmware
(
查看源代码
)
模板:Ubuntu主机开发环境搭建
(
查看源代码
)
模板:使用nmcli命令配置网络
(
查看源代码
)
返回至
Debian Base 系统使用
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息