- I.MX6U中Qt开发环境的搭建
本文在正点原子的开发板中进行实验,参考正点原子官方文档《【正点原子】I.MX6U%20出厂系统Qt交叉编译环境搭建V1.6》。
1.1安装出厂系统Qt交叉编译器(poky交叉编译工具链)
把开发板光盘 A-基础资料->5、开发工具->1、交叉编译器->fsl-imx-x11-glibc-x86_64-meta[1]toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 拷贝到 Ubuntu 虚拟机。(具体参考《【正点原子】I.MX6U%20出厂系统Qt交叉编译环境搭建V1.6》)。安装好后,要使用此编译器编译内核和 U-boot 还需要安装以下软件。
sudo apt-get update // 先更新软列表 sudo apt-get install lzop // 安装 lzop 工具,用于生成压缩或解压镜像 sudo apt-get install libncurses* // 安装 ncurese 相关库,U-boot 或者内核菜单显示时需要
- 终端调试软件MobaXterm安装 参考《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.6》4.9,具体安装使用方法有详细介绍。,MobaXterm 软件在其官网下载即可,地址为MobaXterm free Xserver and tabbed SSH client for WindowsFree X server for Windows with tabbed SSH terminal, telnet, RDP, VNC, Xdmcp, Mosh and X11-forwarding. Portable or installer version.https://mobaxterm.mobatek.net/
- 编译运行led 在进行编译前要先安装poky交叉编译工具链,安装好串口终端调试软件(MobaXterm)。交叉编译 Qt 应用程序有两种方法。一种是直接在终端使用命令行编译 Qt 项目。一种是在 Qt Creator 里搭建交叉编译套件的方法来编译 Qt 项目。这里具体详写第一种。Ctrl+alt+T打开终端,进入01_led程序 在qmake前必须先使能交叉编译环境变量,
可以看到01_led中有01_led.pro文件可以直接qmake,然后是make -j 2(这个数字根据分配给虚拟机的处理器数量,不能超过),如下图source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
然后再次进入01_led目录可以看到生成一个可执行文件
3.1拷贝到U盘执行 将上面生成的可执行文件拷贝到U盘中,通过串口进行调试执行,U盘接口和USB接口(TTL)
因为用到的是串口,MobaXterm的设置如下,端口看自己电脑识别我这里是com5
设置好,进入串口调试终端,先df显示目录,可以看到sda1,这就是插入的U盘
在开发板中先退出原先的桌面,然后执行./01_led
可以看到arm板,红色灯亮,led成功点亮。
3.2使用网络将可执行文件拷贝到开发板中 使用网络拷贝的前提是Ubuntu端和开发板在同一网段,分别查看IP,在串口端查看开发板IP
Ubuntu端IP
使用scp 文件 用户名@ip 地址:路径拷贝文件到开发板,
scp 文件 root@开发板IP:/home/root //:为英文的
不幸的是这里出现了连接失败错误。
经过查看胖墩儿二号的csdn (16条消息) ssh登录The authenticity of host 192.168.0.xxx can‘t be established.的问题_胖墩儿二号的博客-CSDN博客问题得到解决。
注意用户名为root,不是虚拟机中的命名。可以看到将可执行文件复制到开发板的root下,下面打开串口终端助手验证一下。网络端设置
可以看到开发板中已经存在01_led文件,复制成功
然后执行。