专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
嵌入式
Qt2.2.0移植到ARM9(四)(JZ2440----S3c2440)
2019-07-12 21:57
发布
生成海报
站内文章
/
嵌入式Linux
16518
0
1759
Qt2.2.0移植到ARM9(四)(JZ2440----S3c2440)
Linux:Ubuntu9.10
编译器版本:arm-linux-gcc-4.3.2
Qt:qtopia-free-src-2.2.0.tar.gz
依赖库:libjpeg库(参考移植(一));uuid库。
操作参考《嵌入式Linux应用开发完全手册》
1、安装qtopia2.2.0
(1)解压
qtopia-free-src-2.2.0.tar.gz位于系统的
/work/GUI/qtopia
目录下。
解压命令:$tar zxvf qtopia-free-src-2.2.0.tar.gz
(2)编译、安装jpeg库(省略,之前已完成)
(3)编译、安装uuid库(省略,之前已完成)
(4)对qtopia修改:
$cd qtopia-free-src-2.2.0
$patch -p1<../qtopia-free-2.2.0_100ask.patch
(5)修改配置文件
修改/qtopia-free-src-2.2.0/qtopia/qrc/qt/qconfig-qpe.h文件。
(6)针对交叉编译器的版本修改代码
修改/qtopia-free-src-2.2.0/qt2/tools/qembed/目录下的Makefile.in文件。
修改:
(1)/qtopia-free-src-2.2.0/qt2/src/tools/目录下的qvaluelist.h。
(2)/qtopia-free-src-2.2.0/qt2/src/kernel/目录下的qwindowsystem_qws.h。
(3)
/qtopia-free-src-2.2.0/qtopia/src/libraries/qtopia/backend/目录下的event.cpp。
(7)修改导致“error:extra qualification”错误的文件
修改:/qtopia-free-src-2.2.0/qtopia/src/libraries/qtopia/目录下的qdawg.cpp。
/qtopia-free-src-2.2.0/qtopia/src/libraries/qtopia2/thumbnailview_p.h。
/qtopia-free-src-2.2.0/qtopia/src/libraries/qtopiapim/目录下abtable_p.h。
/qtopia-free-src-2.2.0/qtopia/src/librari
es/qtopiapim/
目录下numberentry_p.h。
后面还有一些,参考《开发手册》
2、配置、编译、安装qtopia
(1)配置qtopia-free-src-2.2.0
(2)执行编译
$sudo make
$sudo make install
在以下目录中生成可执行文件和库文件。
/qtopia-free-src-2.2.0/qtopia/bin
/qtopia-free-src-2.2.0/qtopia/lib
/qtopia-free-src-2.2.0/qtopia/plugins
字库文件在/qtopia-free-src-2.2.0/qt2/lib/fonts目录下。
3、在开发板上安装、运行qtopia
借助fs_mini_mdev根文件系统的压缩包fs_mini_mdev.tar.bz2制作qt2.2.0文件系统.
fs_mini_mdev
.tar.bz2位于/work/system/目录下
(1)解压、重命名
$tar jxvf fs_mini_mdev.tar.bz2
$sudo cp -rf jxvf fs_mini_mdev fs_qt
$sudo chown book:book fs_qt -R
(2)复制qtopia所依赖的jpeg库、uuid库
$cp libjpeg.so* /work/system/fs_qt/lib -d
$cp libuuid.so* /work/system/fs_qt/lib -d
(3)复制字库
$cp -rf /qtopia-free-src-2.2.0/qt2/lib/fonts /qtopia/image/opt/Qtopia/lib
$cp -rf /qtopia/image/opt /work/system/fs_qt
(4)创建时区文件
直接使用主机中的时区文件
$cd /work/system/fs_qt
$mkdir -p usr/share/zoneinfo
$cp -rf /usr/share/zoneinfo/America usr/share/zoneinfo
$cp /usr/share/zoneinfo/zone.tab usr/share/zoneinfo
(5)伪造触摸屏校验文件
在开发板根文件系统中建立一个校验文件
$vim /etc/pointercal
其内容为:1 0 1 0 1 1 65536,它可以让系统不执行校验程序
(6)在根文件系统/bin目录下建立一个qpe.sh文件,它用来设置环境变量、启动Qtopia。
qpe.sh内容如下:
#!/bin/sh
export HOME=/root
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_KEYBOARD="TTY:/dev/tty1"
#export QWS_MOUSE_PROTO="USB:/dev/mouse0"
export QWS_MOUSE_PROTO="TPanel:/dev/ts0"
export PATH=$QPEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
export TSLIB_TSDEVICE=/dev/ts0
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/share/ts/plugins
export TSLIB_TSEVENTTYPE="H3600"
$QPEDIR/bin/qpe &
解释:最后一行用于启动Qtopia。
(7)修改根文件系统的启动脚本
运行Qtopia时,需要用到临时目录/tmp,为减少Flash的擦写,在/tmp目录上挂接tmpfs文件系统。
首先建立/tmp目录
然后修改/work/system/fs_qt/etc/目录下的fstab文件,加入一行
最后修改启动脚本/work/system/fs_qt/etc/init.d/rcS,在最后加入以下一行。
还要修改它的属性
$chmod +x /work/system/fs_qt/bin/qpe.sh
将/work/system/fs_qt/etc/inittab中一行注释掉
(8)制作yaffs2映像文件
使用mkyaffs2image工具将/work/system/fs_qt/制作成yaffs2映像文件。
最后就是将fs_qt.yaffs2文件系统烧写到开发板中去。
Ta的文章
更多
>>
零基础用AD18画二层PCB学习笔记(三)绘制封装库
0 个评论
DC/DC设计技巧
0 个评论
Qt2.2.0移植到ARM9(四)(JZ2440----S3c2440)
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮