“Buildroot 系统使用”的版本间的差异
Tangdapeng(讨论 | 贡献) |
Tangdapeng(讨论 | 贡献) |
||
第1行: | 第1行: | ||
− | 该buildroot系统是基于wayland显示协议的嵌入式系统。系统集成的qt支持wayland、wayland- | + | 该buildroot系统是基于wayland显示协议的嵌入式系统。系统集成的qt支持wayland、wayland-egl、eglfs、linuxfb显示插件。 |
− | == | + | ===搭建qt开发环境=== |
− | + | 主机PC端环境为Ubuntu16.04,目标板系统为buildroot嵌入式系统,默认使用root用户登录,并支持root用户ssh远程登录,给目标系统root用户配置密码为root<br /> | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | $ tar | + | $ passwd root |
+ | > root | ||
+ | > root | ||
+ | </syntaxhighlight> | ||
+ | [http://www.example.com SDK]中包含交叉编译工具链、qmake、与目标板系统的rootfs。解压SDK到任意目录$TOP_DIR,并运行开发环境配置脚本<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ tar host.tar.gz -C $TOP_DIR | ||
$ cd $TOP_DIR/host | $ cd $TOP_DIR/host | ||
$ ./relocate-sdk.sh | $ ./relocate-sdk.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | ===使用终端命令行编译运行qt程序=== |
− | + | qt程序使用SDK中的qt5 examples例程,通过qmake、make命令进行编译 | |
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ export PATH=$TOP_DIR/host/bin:$PATH | $ export PATH=$TOP_DIR/host/bin:$PATH | ||
第16行: | 第21行: | ||
$ make | $ make | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 生成hellowindow程序,可通过scp拷贝到目标板中直接运行<br /> | |
− | 生成hellowindow程序,可通过scp拷贝到目标板中直接运行 | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ scp hellowindow root@10.168.1.247: | $ scp hellowindow root@10.168.1.247: | ||
第24行: | 第27行: | ||
$ ./hellowindow | $ ./hellowindow | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 系统在/etc/init.d/S50launcher开机启动服务中,启动了wayland显示服务,并运行了QLauncher桌面,若使用eglfs或linuxfb显示插件,则需要移除S50launcher服务 | |
− | + | <syntaxhighlight lang="bash"> | |
− | === | + | $ mv /etc/init.d/S50launcher ~ |
− | + | $ sync | |
+ | $ reboot | ||
+ | </syntaxhighlight> | ||
+ | 指定eglfs显示插件运行程序<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ./hellowindow -platform eglfs | ||
+ | </syntaxhighlight> | ||
+ | [[文件:Projects 0.jpg|800px]]<br /> | ||
+ | <br /> | ||
+ | 指定linuxfb显示插件运行程序<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ./calculator -platform linuxfb | ||
+ | </syntaxhighlight> | ||
+ | ===使用qtcreator开发调试qt程序=== | ||
+ | qtcreator集成编辑、编译、运行、调试环境于一体,提升开发效率<br /> | ||
<br /> | <br /> | ||
'''安装qtcreator'''<br /> | '''安装qtcreator'''<br /> |
2020年6月22日 (一) 16:21的版本
该buildroot系统是基于wayland显示协议的嵌入式系统。系统集成的qt支持wayland、wayland-egl、eglfs、linuxfb显示插件。
搭建qt开发环境
主机PC端环境为Ubuntu16.04,目标板系统为buildroot嵌入式系统,默认使用root用户登录,并支持root用户ssh远程登录,给目标系统root用户配置密码为root
$ passwd root
> root
> root
SDK中包含交叉编译工具链、qmake、与目标板系统的rootfs。解压SDK到任意目录$TOP_DIR,并运行开发环境配置脚本
$ tar host.tar.gz -C $TOP_DIR
$ cd $TOP_DIR/host
$ ./relocate-sdk.sh
使用终端命令行编译运行qt程序
qt程序使用SDK中的qt5 examples例程,通过qmake、make命令进行编译
$ export PATH=$TOP_DIR/host/bin:$PATH
$ cd $TOP_DIR/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/opengl/hellowindow
$ qmake
$ make
生成hellowindow程序,可通过scp拷贝到目标板中直接运行
$ scp hellowindow root@10.168.1.247:
$ ssh root@10.168.1.247
$ ./hellowindow
系统在/etc/init.d/S50launcher开机启动服务中,启动了wayland显示服务,并运行了QLauncher桌面,若使用eglfs或linuxfb显示插件,则需要移除S50launcher服务
$ mv /etc/init.d/S50launcher ~
$ sync
$ reboot
指定eglfs显示插件运行程序
$ ./hellowindow -platform eglfs
$ ./calculator -platform linuxfb
使用qtcreator开发调试qt程序
qtcreator集成编辑、编译、运行、调试环境于一体,提升开发效率
安装qtcreator
$ sudo apt-get install qtcreator
添加Qt Versions
Tools --> Options --> Build & Run --> Qt Versions --> Add --> 选中qmake路径 --> Apply
添加Compilers
Tools --> Options --> Build & Run --> Compilers --> Add --> GCC -- 选中g++路径 --> Apply
注意:选中g++路径,并修改ABI一栏明确指示平台架构为arm
添加Debuggers(可选项)
Tools --> Options --> Build & Run --> Debuggers --> Add --> 选中gdb路径 --> Apply
添加Devices(可选项)
Tools --> Options --> Devices --> Add --> General Linux Device --> start Wizard
并点击"Test"测试设备联通
添加Kits
Tools --> Options --> Build & Run --> Kits --> Qt Versions --> Add --> Apply
打开 hellowindow 工程并选择Kits
Welcome --> Open Porject --> 选择工程路径 /home/lin/trash/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/opengl/hellowindow/hellowindow.pro --> Configure Project
编译运行 hellowindow
Build --> Build Project "hellowindow" --> 重启qtcreator --> Build --> Run
配置debug模式
Projects --> buildroot-kit --> Build
注意:找到 Build Steps --> qmake --> Details --> Additional arguments --> 添加 QMAKE_CXXFLAGS+=-g
Projects --> buildroot-kit --> Run
注意:找到 Run Environment --> Details --> 点击 Fetch Device Environment
重新编译并调试运行
Build --> Clean Project "hellowindow"
Debug --> Start Debugging --> Start Debugging