AM335X/A40I平台 QT4.8移植和QT应用开发连载(三)

本文记录了QT4.8平台在AM335X/A40I等现在流行嵌入式平台的移植过程,说明过程中可能会技术瑕疵,希望大家提供宝贵意见。
本文移植的平台来自于盈鹏飞嵌入式的COM-335X平台(处理器是AM335X)和COM-X40I平台(处理器是全志A40I/T3).

                                                集成电源版本,集成电源是TPS65217 

                                                                      分立电源版本

以下为产品介绍:

COM-335X 产品特性

  1. 采用TI公司Cortex-A8 AM335X处理器,运行最高速度为1GHZ;
  2. 支持128M-512M DDR3 SDRAM;
  3. 支持128-1G字节 SLC电子盘或者EMMC 4G-32G大容量电子盘,可启动;
  4. 最多可支持两路千兆以太网,支持IEEE1588;
  5. 支持两路高速USB OTG;
  6. 支持最多六路串口,双路CAN BUS;
  7. 支持分辨率最高的1360*768显示接口,可支持SGX530 3D引擎; 
  8. 板载DS1339的RTC时钟,国内独家设计,保证系统时钟同步;
  9. 支持GPMC扩展总线,可扩展FPGA或者 DSP应用;
  10. 稳定的操作系统的支持,可预装Ubuntu 16.04或者Preempt Linux 4.14;ANDROID 4.2可根据项目定制;
  11. 超小体积,邮票孔设计,160pins, 尺寸为:45*45MM

以下为产品介绍:

COM-X40I 产品特性

  1. 采用Allwinner公司Cortex-A7四核A40i处理器,运行最高速度为1.2GHZ;
  2. 支持Mali-400MP2 GPU,支持OpenGL ES 2.0 / OpenVG 1.1 standard
  3. 支持1080P 视频编码,支持H.264,VP8;多格式1080P 60fps视频解码 (H.265,H.264,VC-1, MPEG-1/2/4, VP8) 
  4. 支持双屏异显;支持HDMI V1.4A/RGB888/LVDS,分辨率最高1920x1080;T3处理器不支持HDMI;
  5. 支持512-2G  Bytes DDR3 SDRAM;
  6. 支持EMMC 4G-64G大容量电子盘,可启动;
  7. 支持SDIO3.0,USB2.0 HOST&OTG,2路I2C,6路UART,2路SPI,2路PWM
  8. 支持双路以太网,一路10/100M;一路10/100/1000M;
  9. 可定制宽温产品,替换AM335X
  10. 稳定的操作系统的支持,可预装Android7.0或者LINUX 3.10(可预装Preempt Linux系统);
  11. 超小体积,邮票孔设计160pins, 尺寸为:45*45MM

以下是本连载的第(三)篇 移植tslib、qt

4 移植tslib、qt

4.1打包qt库

编译成功之后在qt库的安装目录下就生成arm需要的qt库,进入 QT-4.8.2-arm/目录,输入打包命令:$sudo tar -cvf  qtlib.tar  lib/,如图所示:

压缩完成后,可查看到该目录下生成:qtlib.tar文件,如图所示:

4.2移植qt库   

配置开发板IP地址,使开发板与虚拟机linux在同一网段内,具体设置请参考EVB-335X接口功能测试手册-附录2.

1)在开发板建立目录:/opt/qtdenv/QT-4.8.2,将qtlib.tar 发送到改目录下,(注意:也可以根据客户实际情况,将qt库放到其他目录下,只要保证环境变量和实际库文件所在的路径对应起来就可以),如图所示:

 2)在虚拟机终端,输入命令:$scp qtlib.tar root@192.168.0.230:/opt/qtdenv/QT-4.8.2/qtlib.tar ,将qtlib.tar发送到开发板/opt/qtdenv/QT-4.8.2/目录下,如图所示:

注意:开发板默认已经开启sshd服务,scp使用方法可参考:EVB-335X接口功能测试手册-5.8.3章节。

命令参数:

 root: 开发板默认登录用户。

192.168.0.230:开发板IP。

3)进入开发板/opt/qtdenv/QT-4.8.2目录,输入命令: $tar -xf qtlib.tar ,解压qt库,如图所示:

4)qt库移植好之后,需要设置开发板环境变量

在开发板输入命令$vi /etc/profile 

然后在文件中添加一下环境变量

export QWS_DISPLAY=LinuxFb:/dev/fb0//LCD显示设备文件

export QWS_SW_CURSOR=1  //软件鼠标的光标将一直可用

export QWS_MOUSE_PROTO="tslib:/dev/input/event1"  //指定触摸屏设备

export QT_ONSCREEN_PAINT=0  //将控件显示在屏幕上

export QTDIR=/opt/qtenv/QT-4.8.2-arm:$QTDIR   //指定qt安装目录

export LD_LIBRARY_PATH=/opt/qtenv/QT-4.8.2-arm/lib:$LD_LIBRARY_PATH //设置qt库查找路径

export QT_QWS_FONTDIR=/opt/qtenv/QT-4.8.2-arm/lib/fonts   //设置字体查找路径

保存退出

如下图所示:

 

注意:要使qt程序支持触摸屏和鼠标,可修改/etc/profile中的QWS_MOUSE_PROTO,如下所示:

1)支持触摸屏  

export QWS_MOUSE_PROTO=Tslib:/dev/input/event1 

2)支持鼠标

export QWS_MOUSE_PROTO=MouseMan:/dev/input/mice

3)同时支持触摸屏和鼠标  

export set QWS_MOUSE_PROTO="TSLIB:/dev/input/event1 Intellimouse:/dev/input/mice"

4)支持usb键盘

export QWS_KEYBOARD=USB:/dev/input/event2 

注意这个event2根据具体输入节点而定,可在开发板输入:cat /dev/input/eventX 命令,然后按下usb键盘任意按键,查看是终端有输出而定。

4.3移植tslib库 

1)拷贝tslib库到开发板

在开发板建立/usr/local/tslib目录,将虚拟机/usr/local/tslib库拷贝到开发板/usr/local/tslib目录下。注意:也可以根据客户实际情况,将tslib库放到其他目录下,只要保证环境变量与实际库文件所在路径对应起来就可以。

2)修改触摸屏配置文件  

在开发板输入命令$ vi /etc/profile

然后在文件中添加一下环境变量

export T_ROOT=/usr/local/tslib/lib  // 指定tslib主目录位置

export TSLIB_CONSOLEDEVICE=none//设定控制台设备为none

export TSLIB_FBDEVICE=/dev/fb0//指定帧缓冲设备

export TSLIB_TSDEVICE=/dev/input/event1//指定触摸屏设备

export TSLIB_PLUGINDIR=$T_ROOT/ts//指定触摸屏插件所在路径

export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf//指定TSLIB配置文件的位置

export TSLIB_CALIBFILE=/etc/pointercal//指定触摸屏校准文件pointercal存放位置

export LD_LIBRARY_PATH=/usr/local/tslib/lib:$LD_LIBRARY_PATH//指定TSLIB的库文件路径

export PATH=/usr/local/tslib/bin:$PATH//设置环境变量:方便执行/tslib/bin/ ts_calibrate校准程序

 保存退出,如下图所示:

4.4注意事项 

若内核配置为同时支持电阻屏和电容屏,则电阻屏设备节点为:/dev/input/event1 ,电容屏设备节点为:/dev/input/event2。此时,若使用电容屏,需要指定/etc/profile中TSLIB_TSDEVICE和QWS_MOUSE_PROTO参数为/dev/input/event2。如下所示:

export TSLIB_TSDEVICE=/dev/input/event2

export QWS_MOUSE_PROTO="tslib:/dev/input/event2"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值