“Buildroot 系统使用”的版本间的差异

来自ARM Wiki
跳转至: 导航搜索
第1行: 第1行:
该buildroot系统是基于wayland显示协议的嵌入式系统。系统集成的qt支持wayland、wayland-egl、eglfs显示插件。
+
该buildroot系统是基于wayland显示协议的嵌入式系统。系统集成的qt支持wayland、wayland-egl、eglfs、linuxfb显示插件。
==获取开发SDK==
+
===搭建qt开发环境===
[http://www.example.com SDK]中包含交叉编译工具链、qmake、与目标板系统的rootfs。解压SDK到任意目录,并运行开发环境配置脚本<br />
+
主机PC端环境为Ubuntu16.04,目标板系统为buildroot嵌入式系统,默认使用root用户登录,并支持root用户ssh远程登录,给目标系统root用户配置密码为root<br />
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ tar xxx.tar.gz -C $TOP_DIR
+
$ 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程序===
===方法一===
+
qt程序使用SDK中的qt5 examples例程,通过qmake、make命令进行编译
使用终端通过命令行编译SDK中的qt5 examples例程
 
 
<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拷贝到目标板中直接运行
 
拷贝程序并登录目标板系统运行qt程序
 
 
<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 ~
在PC ubuntu16.04上搭建qtcreator开发环境,打开qtcreator IDE,依次设置<br />
+
$ 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

Projects 0.jpg

指定linuxfb显示插件运行程序

$ ./calculator -platform linuxfb

使用qtcreator开发调试qt程序

qtcreator集成编辑、编译、运行、调试环境于一体,提升开发效率

安装qtcreator

$ sudo apt-get install qtcreator


添加Qt Versions
Tools --> Options --> Build & Run --> Qt Versions --> Add --> 选中qmake路径 --> Apply
Qt Versions.png


添加Compilers
Tools --> Options --> Build & Run --> Compilers --> Add --> GCC -- 选中g++路径 --> Apply
注意:选中g++路径,并修改ABI一栏明确指示平台架构为arm
Compilers.png


添加Debuggers(可选项)
Tools --> Options --> Build & Run --> Debuggers --> Add --> 选中gdb路径 --> Apply
Debuggers.png


添加Devices(可选项)
Tools --> Options --> Devices --> Add --> General Linux Device --> start Wizard
Devices.png

并点击"Test"测试设备联通
Device Test.png


添加Kits
Tools --> Options --> Build & Run --> Kits --> Qt Versions --> Add --> Apply
Kits.png


打开 hellowindow 工程并选择Kits
Welcome --> Open Porject --> 选择工程路径 /home/lin/trash/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/examples/opengl/hellowindow/hellowindow.pro --> Configure Project
Configure Project.png


编译运行 hellowindow
Build --> Build Project "hellowindow" --> 重启qtcreator --> Build --> Run
Projects 1.png

Projects 2.jpg


配置debug模式
Projects --> buildroot-kit --> Build
注意:找到 Build Steps --> qmake --> Details --> Additional arguments --> 添加 QMAKE_CXXFLAGS+=-g Projects 3.png

Projects --> buildroot-kit --> Run
注意:找到 Run Environment --> Details --> 点击 Fetch Device Environment Projects 4.png


重新编译并调试运行
Build --> Clean Project "hellowindow"
Debug --> Start Debugging --> Start Debugging
Projects 5.png

Projects 6.jpg