本文记录了QT4.8平台在AM335X/A40I等现在流行嵌入式平台的移植过程,说明过程中可能会技术瑕疵,希望大家提供宝贵意见。
本文移植的平台来自于盈鹏飞嵌入式的COM-335X平台(处理器是AM335X)和COM-X40I平台(处理器是全志A40I/T3).
集成电源版本,集成电源是TPS65217
分立电源版本
以下为产品介绍:
COM-335X 产品特性
- 采用TI公司Cortex-A8 AM335X处理器,运行最高速度为1GHZ;
- 支持128M-512M DDR3 SDRAM;
- 支持128-1G字节 SLC电子盘或者EMMC 4G-32G大容量电子盘,可启动;
- 最多可支持两路千兆以太网,支持IEEE1588;
- 支持两路高速USB OTG;
- 支持最多六路串口,双路CAN BUS;
- 支持分辨率最高的1360*768显示接口,可支持SGX530 3D引擎;
- 板载DS1339的RTC时钟,国内独家设计,保证系统时钟同步;
- 支持GPMC扩展总线,可扩展FPGA或者 DSP应用;
- 稳定的操作系统的支持,可预装Ubuntu 16.04或者Preempt Linux 4.14;ANDROID 4.2可根据项目定制;
- 超小体积,邮票孔设计,160pins, 尺寸为:45*45MM
以下为产品介绍:
COM-X40I 产品特性
- 采用Allwinner公司Cortex-A7四核A40i处理器,运行最高速度为1.2GHZ;
- 支持Mali-400MP2 GPU,支持OpenGL ES 2.0 / OpenVG 1.1 standard
- 支持1080P 视频编码,支持H.264,VP8;多格式1080P 60fps视频解码 (H.265,H.264,VC-1, MPEG-1/2/4, VP8)
- 支持双屏异显;支持HDMI V1.4A/RGB888/LVDS,分辨率最高1920x1080;T3处理器不支持HDMI;
- 支持512-2G Bytes DDR3 SDRAM;
- 支持EMMC 4G-64G大容量电子盘,可启动;
- 支持SDIO3.0,USB2.0 HOST&OTG,2路I2C,6路UART,2路SPI,2路PWM
- 支持双路以太网,一路10/100M;一路10/100/1000M;
- 可定制宽温产品,替换AM335X
- 稳定的操作系统的支持,可预装Android7.0或者LINUX 3.10(可预装Preempt Linux系统);
- 超小体积,邮票孔设计160pins, 尺寸为:45*45MM
以下是本连载的第(二)篇 编译安装qt库
编译安装qt库
3.1设置环境变量
1)解压qt库源码
将光盘\linux\linux\qt_gui\qt-everywhere-opensource-src-4.8.4.tar.gz复制到虚拟机linux系统下,输入命令:$tar -zxvf qt-everywhere- opensource-src-4.8.4.tar.gz,解压QT-4.8.4 源码 ,如下图所示:
2)解压完成后,输入命令:$cd qt-everywhere-opensource-src-4.8.4,进入qt目录
3)在命令行依次输入下列命令
$export PKG_CONFIG_PATH=/usr/local/tslib/lib/pkgconfig:$PKG_CONFIG_PATH
$export LD_LIBRARY_PATH=/usr/local/tslib/lib:$LD_LIBRARY_PATH
$export TSLIB_ROOT=/usr/local/tslib
如下图所示:
3.2指定交叉编译器
输入命令: $vi mkspecs/qws/linux-arm-g++/qmake.conf ,编辑qmak.conf,如下图所示:
修改qmake.conf内容,如下图所示:
笔者使用交叉编译器:arm-linux-gnueabihf-gcc/g++,取自光盘中:linux\linux\toolchain\gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 ,安装在/opt目录下(安装过程参考EVB335X linux开发指南)。用户可根据实际情况,指定其他编译器,但应尽量保证与编译内核使用同一编译器。
注意:以下3.3、3.4、3.5操作都需要root权限执行。
3.3建立配置文件
输入命令:$su,切换到root用户,新建build_qt.sh 脚本文件,如下图所示:
添加以下配置内容:
命令参数:
-prefix :对应qt库即将要安装的路径/opt/qtenv/QT-4.8.2-arm
-I/usr/local/tslib/include 和-L/usr/local/tslib/lib :是对应相应的 tslib 的安装路径。
3.4执行配置脚本
添加完成build_qt.sh后,输入命令:$sh build_qt.sh执行该脚本文件文件,以配置 qt 编译规则 如下图所示:(过程时间稍长)
3.5、编译与安装
1)编译
配置完成后,输入命令:$make进行编译(编译时间较长),如下图所示:
安装完成后,在安装目录下生成了qt 库以及demo程序,如下图所示:
至此,qt库安装完成。