迅为iMX6UL开发板Linux-QtE5.7系统移植

如何移植高版本的 Qt5.7 到 迅为iTOP-iMX6UL 开发板,注意:需要先学习前面编译烧写等基础知识。

对于 QtE5.7 的移植,本节中提供了对应的编译环境,用户如果是第一次移植,建议使用我们提供的版本。

需要使用的大部分重要的软件、工具以及源码在网盘“iTOP-iMX6UL 开发板资料汇总\04_iTOP-iMX6UL 开发板 QtE 和 Qtopia 系统源码以及镜像\05_QtE5.7 镜像和源码以及编译器”目录下“iTOP-iMX6-QtE5.7 移植”压缩包中可以找到。

迅为iMX6UL开发板Linux-QtE5.7系统移植_第1张图片

1.1 基础软件的下载

移植 QtE5.7 需要 Ubuntu16.04 环境,arm 编译器需要使用“arm-2014.05-29”,触摸tslib 需要使用 1.4 版本,QtE 的源码为 QtE5.7.0。

下面是具体的下载链接和详细的版本信息。

环境:ubuntu16.04(Qt5.7creater 需要在 16.04 版本上运行)

下载链接:http://cn.ubuntu.com/download/

编译器:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

下载链接:http://www.veryarm.com/arm-none-linux-gnueabi-gcc

触摸工具:tslib-1.4.tar.gz

下载链接:http://vdisk.weibo.com/s/AcUHxOERV2k0?sudaref=www.baidu.com

Qt 源码:qt-everywhere-opensource-src-5.7.0.tar.gz

下载链接:http://download.qt.io/official_releases/qt/5.7/5.7.0/

2.2 搭建环境

2.2.1 安装基本工具 vim 和 ssh

本节介绍在 Ubuntu16.0.4 系统上安装基础软件 vim 和 ssh。

使用命令“apt-get install vim ssh”

使用 ssh 的时候,会遇到 ssh 连接失败的问题。

解决办法:

先使用命令“/etc/init.d/ssh restart”启动 ssh 服务,然后使用命令“vim

/etc/ssh/sshd_config”打开配置文件。

在配置文件中添加:

迅为iMX6UL开发板Linux-QtE5.7系统移植_第2张图片

 

找到下面这段代码,修改如下

迅为iMX6UL开发板Linux-QtE5.7系统移植_第3张图片

 

之后再重启 service ssh restart 。

2.2.2 安装编译器

将编译器拷贝到“/usr/local/arm”目录下,并解压。

修改环境变量“vim /etc/profile ”并使用 source 命令更新环境变量,如下图。

 

 

arm+tab 键,确定可以显示 arm-none-linux-gnueabi-

输入 arm-none-linux-gnueabi-gcc -v 显示 gcc version 4.8.3 20140320

(prerelease) (Sourcery CodeBench Lite 2014.05-29),那就没问题了。如果提示 no such 等,要 sudo apt-get install lib32z1 lib32ncurses5。

2.3 编译 tslib

解压源码 tslib-1.4.tar.gz

 

安装完之后执行

迅为iMX6UL开发板Linux-QtE5.7系统移植_第4张图片

 

vim /opt/tslib1.4/etc/ts.conf 修改第二行如下

 

 

2.4 编译 Qt5.7 的源码

使用“tar -vxf qt-everywhere-opensource-src-5.7.0”命令解压 Qt5.7 源码,并进入解压生成的“qt-everywhere-opensource-src-5.7.0”目录。

在“qt-everywhere-opensource-src-5.7.0”目录下,使用“ vi

qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf ”命令,打开 qmake.conf 文件

并修改为如下所示内容。

迅为iMX6UL开发板Linux-QtE5.7系统移植_第5张图片

 

如下图。

 

 

使用“vi autoconfigure.sh”命令,新建“autoconfigure.sh”脚本。脚本内容如下所示。

迅为iMX6UL开发板Linux-QtE5.7系统移植_第6张图片

迅为iMX6UL开发板Linux-QtE5.7系统移植_第7张图片

 

 

保存,退出。

使用“chmod 777 autoconfigure.sh ”命令修改“autoconfigure.sh”文件权限。

然后使用“./autoconfigure.sh”命令运行该脚本。

运行完成后,在当前目录下,继续使用“make”命令进行编译。make 运行结束后,执行“make install”命令。

完成后,可以在/opt 目录下可以查看到生成的“qt5.7.0”文件(接下来要用到)。

2.5 生成 system.img

使用提供好的根文件系统(“iMX6 最小系统”),将前两节生成的“qt5.7.0”

“tslib1.4”拷贝到“opt”目录下如下图。

 

迅为iMX6UL开发板Linux-QtE5.7系统移植_第8张图片

 

解压“fonts.zip”,将解压生成的将字库文件夹“fonts”拷贝到“opt/qt5.7.0/lib/”下。

同时将“libstdc.tar.gz”拷贝到“opt/qt5.7.0/lib/”目录下解压,并输入命令:

 

修改环境变量“vim etc/profile”如下图。

 

迅为iMX6UL开发板Linux-QtE5.7系统移植_第9张图片

 

迅为iMX6UL开发板Linux-QtE5.7系统移植_第10张图片

 

修改开机启动脚本“vi etc/init.d/rcS”,最后加一行“/bin/qt5.7 &”。

将迅为提供的“qt5.7”文件拷贝到“bin”下。

然后使用压缩命令将文件系统打包

 

使用命令“ls”,如下图所示,可以看到“rootfs.tar.bz2”压缩包,这个就是制作好的系统镜像。

 

迅为iMX6UL开发板Linux-QtE5.7系统移植_第11张图片

 

把我们制作的“rootfs.tar.bz2”烧写到 iTOP-iMX6UL 开发板上,烧写的方式和 Linux QT 文件系统的烧写一样。

使用迅为提供的“hello”测试程序进行测试,成功。

2.6 安装 qtcreater 编译测试程序 hello

将“qt-opensource-linux-x64-5.7.0.run”拷贝到 ubuntu16.04 任意文件夹下, “chmod 777 qt-opensource-linux-x64-5.7.0.run”,之后直接“./qt-opensource

linux-x64-5.7.0.run”执行,安装一直点下一步就 OK!

然后就可以通过 qtcreater 编译 hello 测试程序了,编译方法和 QtE4.7.1 版本的类似。

 

转自:http://www.topeetboard.com

你可能感兴趣的:(嵌入式开发)