1 buildroot移植
按照原子哥驱动开发指南v1.5的A1章节下载编译buildroot根文件系统,其中注意的是编译完成没有错误以后(这里可以提前将qt5所需要的第三方软件在buildroot根文件系统中安装上:alsa-lib,alsa-utils,并且打开qt5的支持(按照大神写的blink"buildroot配置QT5和tslib"(https://blog.csdn.net/u012577474/article/details/103365647)),ssh和scp功能(方便在线调试))
注意事项,打开buildroot的qt5的支持以后,还需要配置开发板qt5的环境配置/etc/profile文件;移植好第三方库以后就就只需要将下载qt5源码移植进文件系统就可以了。
2 qt5.12.9移植(按照原子哥qt5.12.9v1.0的移植文件操作)
在网上下载qt5.12.9的源码到ubuntu里面,准备工作:下载通用的交叉编译器(就是能在板子上运行的gcc的交叉编译器),tslib,qt的源码,ubuntu上的qt creater编程软件。
tslib,我们按照文件系统的时候已经装好了,就不必了,但是在ubuntu里面还是要下载编译的,后面编译qt源码的时候需要
qt的源码,按照文档在https://download.qt.io/archive/qt/5.12/5.12.9/si
ngle/ngle/下载下来,并且完成编译
ubuntu上的qt creater编程软件,进入网址 http://download.qt.io/archive
/qt/5.12/下载qt opensource linux x64 5.12.9.run运行,按照即可,但是我在这里弄了很久,首先是在命令行安装了很久安装不上,老是有问题,最后在ubuntu的桌面用鼠标操作才安装好。安装好以后,运行第一个ubuntu的qt程序(一个空白的页面),用来验证ubuntu的环境安装ok没有。
然后是配置qt creater的kits,这一步花了写时间,将qt移植到开发板中,配置好环境变量(我只加了三个,和原子哥的不一样)
export QT_DEBUG_LUGINS=1
export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
到/etc/profile的最后面,然后将在移植完成的开发板arm-qt目录中,进去usr/lib/arm-qt/examples/widgets/animation/animatedtiles/文件,输入./animatedtiles运行测试程序,借此来检查开发的运行环境是否正常。
最后,在ubuntu的qt creater里面配置kits,实现在线的QT调试(我是参考https://www.cnblogs.com/chenfulin5/p/6698321.html配置了ssh和telnet)。在这里我先测试ssh和scp,在页面
设在开发版的ssh的ip地址,端口,用户名,因为使用的buildroot,开机时需要用户名的密码,在配置buildroot时我是将密码设为空也就是没有密码,之前设置有密码的一直连不上。
连接ssh完成后,设置kits需要的arm版本的gcc ,qmake,gdb,和qt的deploy两个ssh,scp运行步骤
后面加上写程序的方便调试的txt文档`QTssh连接arm设置
QTssh连接arm设置ssh和scp:
ssh
-p %{Device:SshPort} %{Device:UserName}@%{Device:HostAddress} ‘mkdir -p %{CurrentRun:Executable:Path}’
scp
-P %{Device:SshPort} %{CurrentRun:Executable:FileName} %{Device:UserName}@%{Device:HostAddress}:%{CurrentRun:Executable:FilePath}
开发板ip 192.168.1.50
pc机ip192.168.1.9
虚拟机ip:192.168.1.128
setenv ipaddr 192.168.1.50
setenv ethaddr 00:04:9f:04:d2:35
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.128
saveenv
setenv bootcmd ‘tftpboot 80800000 zImage;tftpboot 83000000 imx6ull-14x14-nand-hdmi.dtb;bootz 80800000 - 83000000’
setenv bootargs ‘console=tty1 console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.128:/home/fengyang/alientek/nfs/buildrootfs,proto=tcp rw ip=192.168.1.50:192.168.1.128:192.168.1.1:255.255.255.0::eth0:off’