作者:孙晓明,华清远见嵌入式学院讲师.
【实验环境】
1、主 机:Fedora9 DVD 发行版
2、目标机:mini2440友善之臂
3、源码包:
ftp://ftp.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz
4、编译器 arm-linux-gcc-4.1.2
http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz
我这几天移植qt-embedded-linux-opensource-src-4.5.2 之前使用友善的 arm-linux-gcc-4.3.2编译qt-embedded-linux-opensource-src-4.5.2 没有错误,但是运行 例子程序example/widget/analogclock/analogclock -qws & 就会出段错误, 所有改用 openmoko的arm-linux-gcc-4.1.2编译, 可以成功看到界面.
移植的tslib1.4 在,并且运行ts_calibrate 五点校准,触摸屏是有反应的,并能生成/etc/pointercal
ts_test 也是好使的,拖拽都没有问题. 但是就是运行移植的 QTE的程序 触摸屏一点反应也没有. 顺便说一下,内核还是用的mini2440出厂时nand里的linux-2.6.29,没有动过,触摸屏已经是被内核支持了.
这是我配置的环境变量:
以下环境变量都是我在终端敲入的
export QTDIR=/usr/local/QtEmbedded-4.5.2-moko-arm
export QPEDIR=/usr/local/QtEmbedded-4.5.2-moko-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/event0
export LD_LIBRARY_PATH=/usr/local/tslib/lib:$LD_LIBRARY_PATH
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event
这是我安装tslib1.4的步骤:
一、tslib移植
第一步:解压tslib-1.4.tar.gz
tar -zxvf tslib-1.4.tar.gz
第二步:进入解压过的目录
cd tslib-1.4
第三步:执行tslib-1.4目录下的autogen.sh
./autogen.sh
第四步:执行autogen.sh脚本所生成的Makefile文件
在命令行打入以下命令:
echo "ac_cv_func_malloc_0_nonnull=yes" >$ARCH-linux.cache
./configure --host=arm-linux --prefix=/usr/local/tslib --cache-file=$ARCH-linux.cache
第五步:
make
make install
第六步:把指定安装目录下的tslib的文件都copy到你所挂载的根文件下
sudo cp -a /home/linux/tslib/* /opt/FriendlyARM/mini2440/root_qtopia/usr/local/tslib/
第七步:修改/opt/FriendlyARM/mini2440/root_qtopia/usr/local/tslib/ 下的etc目录中ts.conf文件
vi ts.conf 将第二行的#module_raw input修改成module_raw input 注意一定要顶格写否则程序执行时会发生读取ts.conf错误
|