移植tslib1.4至mini2440
在移植tslib1.4至mini2440的过程中出现了一些问题,在解决问题的过程中也学到了不少东西。但是由于注意力不集中也导致了一些低级的错误,非常地浪费时间,以后在做事的时候必须集中注意力,宁愿慢一点都不要马马虎虎。
开发环境:
开发板:mini2440
开发板的内核版本:linux2.6.32.2
交叉编译器的版本:arm-linux-gcc4.4.3。
配置tslib1.4的步骤为:
1.解压tslib-1.4.tar.gz并 cd tslib/
2../autogen.sh
3.echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
4../configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no --prefix=/usr/local/tslib //这里注意,严格写成/usr/local/tslib,如果你的NFS文件系统/usr下没有local这个目录,则创建一个,拷贝到开发板时也要一样的目录,否则:运行./ts_calibrate,会报not found的错误,红色字体为网络上的文章注释,没有尝试过换成其他的路径会不会发生错误。)
5.make&make install(可能报错 ts_test.c:(.text+0x1d8): undefined reference to `rpl_malloc'原因是在 tslib-1.4/config.h 中有一行定义 “#define malloc rpl_malloc”,直接注释掉这行定义即可,除非你自己实现了一个 malloc 版本。红色字体为网络上的文章注释,我在缺少第三步的情况下会出现这个问题,但是如果正确运行第三步并不会出现这个问题)。
6.拷贝主机的/usr/local/tslib目录至开发板的/usr/local/tslib目录(实际就是拷贝tslib)
7.配置环境变量
vi /etc/profile
添加如下内容:
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/event0 (你的开发板dev下的触摸屏设备节点文件) —>使用cat /dev/event0 ,然后点击触摸屏查看终端中是否出现乱码来判断这个设备节点是否链接的触摸驱动
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export QWS_MOUSE_PROTO=tslib:/dev/event0
export QWS_SIZE=*
export QWS_DISPLAY=LinuxFB:mmWidth80:mmHeight80:
export QTDIR=/usr/local/Trolltech/Qt-4.8.-arm
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib:$QTDIR/lib:/lib
我在移植的过程中碰到的最大问题出现在这个地方,一开始编辑profile文件的过程中出现错误生成了profile.bak(还是什么?具体后缀记不清了),导致profile文件看上去都正常且使用env命令打印出的环境变量也正常,但是运行测试程序的时候就是会出现No such file...的错误。将profile.bak删除再重新建立即可解决问题。
8.修改配置文件
vi /usr/local/tslib/etc/ts.conf 将”module_raw input“前的空格及#去掉。
9.开发板重启,启动后运行命令: ts_calibrate,这个时候就可以进行触摸屏的校准了
注: 有些型号的开发板在运行测试程序时可能会出现:
问题1.Couldnt load module input
No raw modules loaded.
ts_config: Success
原因:/tslib/lib/ts/没有对应的input.so文件(为什么?)
解决方法:
从文件rootfs_qtopia//usr/local/lib/ts文件夹中拷贝input.so到对应目录即可解决问题。
解决办法(网络文章里的方法,没有去尝试)
1. 将开发板附带光盘中的文件系统/rootfs_qtopia_qt4/usr/local/lib/ts文件夹中的friendlyarm-ts-input.so(这里各个开发板按照自己的型号选择)复制到NFS文件系统中的相应目录下
2. vi /usr/local/tslib/etc/ts.conf
将第一项module_raw input ,其中input修改为friendlyarm-ts-input
问题2.测试程序名:not found
使用arm-linux-readlf -a 测试程序名 | grep lib来查看测试程序所依赖的库文件,使用find命令搜索并将相应的库文件拷贝到跟文件的lib目录下
移植tslib1.4至mini2440的更多相关文章
- mini2440移植uboot-2008.10 (一)
今天是我申请此博客的第一天,从现在开始养成每次学完新东西,都要写博客进行总结的习惯!!!Come on! 首先就从这两天学的uboot开始吧,这两天学这个东西郁闷死了,不知道该怎么去学,尤其是到nan ...
- FT5X06 如何应用在10寸电容屏(linux-3.5电容屏驱动简析&移植10寸电容屏驱动到Android4.2) (by liukun321咕唧咕唧)
这是几个月以前的东西了,在彻底遗忘之前拿出来好好写写.做个笔记,也算是造福后来人了.在做这个项目之前,没有做过电容屏的驱动,印象中的电容触摸屏是不需要校正的.IC支持多大的屏就要配多大的屏.但是拿到需 ...
- Linux学习 : 移植qt 5.6.3 及 tslib 1.4
(一) 移植 qt5.6.3 一.qt简介: Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具 ...
- FT5X06 如何应用在10寸电容屏
硬件搭起来看现象,如下图: 红色区域是FT5406上报有效数据的范围(1280*600),以左上角为原点 ,X轴方向上报数据的最大值1280,Y轴方向上报的最大数据是600..但是我用的LG的10.1 ...
- 嵌入式wifi iwconfig编译
转载自:http://blog.sina.com.cn/s/blog_546ced060101cmru.html 移植wifi无线网卡到mini2440上全过程 前段时间移植了U-boot和l ...
- 基于mini2440的Tslib的移植
软件平台: win7系统,虚拟机ubuntu12.04 mini2440开发板 tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波.去抖.校准等功能 ...
- DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...
- [转载]tslib1.4与Qt4.8.6的交叉编译与移植
原文:http://www.cnblogs.com/Jasonsblog/p/3757985.html http://blog.csdn.net/sno_guo/article/details/168 ...
- linux-3.0内核移植到fl2440开发板(以MINI2440为模板)
我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易. 1.[weishusheng@localhost kernel]$ sudo ...
随机推荐
- [UML]UML系列——用例图Use Case
用例图的概念 用例图是描述用例.参与者以及它们之间关系的图. 用例图的作用 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为. 用例图定义和描述了系统的外部可见行为,是分析.设计直至组 ...
- 转载:postgresql分区与优化
--对于分区表constraint_exclusion 这个参数需要配置为partition或on postgres=# show constraint_exclusion ; constraint_ ...
- PHP错误级别 error_reporting() 函数详解
在PHP开发的时候常常会用到error_reporting(report_level)来调试自己的程序,下面列出了report_level可能值: 值 常量 描述 1 E_ERROR 这是一个严重错误 ...
- Javascript实现图片预加载【回调函数,多张图片】
使用JS实现一组图片动画效果或者使用HTML5 Canvas渲染一系列图片等案例中,需要图片全部加载完成方可运行动画效果.此时程序中就会涉及多张图片预加载代码.当接二连三的案例中都涉及图片预加载时,就 ...
- git 教程(14)--解决冲突
人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发:
- bzoj3674 可持久化并查集
我是萌萌的任意门 可持久化并查集的模板题-- 做法好像很多,可以标号法,可以森林法. 本来有O(mloglogn)的神算法(按秩合并+倍增),然而我这种鶸渣就只会写O(mlog2n)的民科算法--再加 ...
- 【Maven】搭建Maven环境
第一步:下载,并安装配置Maven 下载安装包:可以到官网下载(可能很慢),建议从CSDN上下载. 解压安装包:解压到Eclipse和Java一起把,改配置什么的一眼就看到:反正我是把Java,Ecl ...
- PHP PHPUnit的简单使用
1.window安装pear的教程:http://jingyan.baidu.com/article/ca41422fd8cf3d1eae99ed3e.html 2.在工作目录下,放两个文件: 1)C ...
- JavaSE18章_JSON解析详解
一.JSON简介 JSON(JavaScript Object Notation),是一种轻量级的数据交换格式.JSON是存储和交换文本信息的,语法类似 XML.易于人阅读和编写,同时也易于机器解析和 ...
- %u编码
Escape/Unescape加密解码/编码解码,又叫%u编码,从以往经验看编码字符串出现有"u",它是unicode编码,那么Escape编码采用是那一种unicode实现形式呢 ...