本文记录了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
以下是本连载的第(一)篇 编译tslib
编译tslib
光盘中linux\linux\qt_gui\tslib4arm.tar.gz文件是已经编译好的tslib库,将其放到虚拟机linux环境下,解压得到的内容可以直接复制到EVB-335X中使用。下面主要说明如何编译tslib库:
2.1安装必要工具
在 ubuntu 命令行中分别执行以下几个命令,添加系统需要的支持:
$ sudo apt-get install libtool
$ sudo apt-get install autoconf
$ sudo apt-get install automake
如下图所示:
2.2配置编译规则
1)解压源码包
将光盘\linux\linux\tslib\ tslib-1.0.tar.gz复制到虚拟机linux系统下,输入命令:$tar –xzvf tslib1.0.tar.gz解压触摸屏库 ,如图所示:
2)生成.configure文件
进入tslib目录,输入命令:$./autogen.sh,运行autogen.sh脚本生成.configure文件。 如下图所示:
3)配置规则
输入命令: $./configure --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux-gnueabihf.cache -prefix=/usr/local/tslib
注意:
--host:选择交叉编译器前缀,如笔者使用arm-linux-gnueabihf-gcc编译器,则—host=arm-linux-gnueabihf
-prefix选项为tslib库即将安装的目录,将tslib库安装到/usr/local/tslib目录下。如下图所示:
2.3编译并安装
1)编译
输入命令: $make ,进行编译
2)安装
编译完成后,输入命令:su,输入root用户密码,切换到root权限下,此时输入命令:$make install 安装tslib库到/usr/local/tslib目录下(/usr/local/tslib会自动生成)。如果命令行显示路径过长,可输入命令:$export PS1=export PS1='[\u@\W]$',缩短命令行显示内容,如下图所示:
安装完成后,可输入命令:$ls /usr/local/tslib ,查看是否正确将tslib库安装到/usr/local/tslib目录下。
输入命令:$exit 即可退出root用户,如下图所示:
2.4修改配置文件
输入命令:$sudo vi /usr/local/tslib/etc/ts.conf , 编辑'ts.conf'文件,去掉 'module_raw input'前面的 # 号,否则可能导致出现‘no raw modules loaded’的错误。还要注意'module_raw input'前面不能有空格,否则运行测试程序时可能会出现'Segmentation fault'的提示。
至此,/usr/local/tslib目录下的文件就是编译好的arm上需要的tslib库文件。