tslib-1.4在OMAP3530(Cortex-A8)上的移植过程详解


一、移植环境
·   主  机:VMWare6.5--Fedora 9
·     开发板:SBC3530-B1-1880-LUAC0
CPU:OMAP3530(Cortex-A8);    SDRAM:256M;    NAND flash:256M
·    编译器:arm-linux-gcc-4.3.2

二、具体方法
最近一个月,事比较多,比较杂,在嵌入式这块,做的工作很少。最近新到了一块开发板,是Cortex-A8核心的,试着在它上面移植了文件系统、tslib-1.4和Qt4.7.2。
 

    越到上层,软件与平台的关联性越小。比如文件系统的移植,我就是将原来针对S3C2440的YAFFS2文件系统制作成UBIFS文件系统(甚至连busybox代码都没有改过),xloader、u-boot、linux内核都是用的EMA提供的;tslib-1.4的移植,也只是修改了很少的一部分代码(有可能连这很少的一部分代码都不用修改,不过我没有试过)。^_^

      1、下载tslib-1.4.tar.gz

http://www.bkjia.net/thread-2244-1-1.html

      2、解压安装tslib

           # tar -zxvf tslib-1.4.tar.gz
           # cd tslib
           # ./autogen.sh
           echo "ac_cv_func_malloc_
0 _nonnull=yes">arm-none-linux-gnueabi.cache 
           # ./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no -prefix=
/usr/local/tslib 
           # make
           # make install

      说明:

      (1) 红色的“0”是数字0(2) /usr/local/tslib表示tslib安装后的路径;(3)蓝色字体标出的部分是与针对S3C2440平台不同的地方

      3、修改ts.conf内容

      # vi /usr/local/tslib/etc/ts.conf

           module_raw input 
           module pthres pmin=1
           module variance delta=30
           module dejitter delta=100
           module linear

      然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。

      4、开发板配置环境变量

      通过超级终端,# vi /etc/profile

      添加如下内容(绿色):

           export TSLIB_ROOT=/usr/local/tslib
           export TSLIB_TSDEVICE=/dev/input/event2    
指定触屏设备 
           export TSLIB_CALIBFILE=/etc/pointercal    
指定触摸屏校准文件 pintercal 的存放位置 
           export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf    指定 TSLIB 配置文件的位置 
           export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts    指定触摸屏插件所在路径 
           export TSLIB_FBDEVICE=/dev/fb0    指定帧缓冲设备 
           export TSLIB_CONSOLEDEVICE=none    设定控制台设备为 none ,否则默认为 /dev/tty ,这样可以避免出现“open consoledevice: No such file or directory KDSETMODE: Bad file descriptor ” 的错误 
           export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

      另外,要确保在/dev/input/目录下有event2设备文件(针对不同板子,这个不一样。我是利用EMA提供的系统,进去后查看的),在/dev/目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate 的时候,会报出open *: No such file or directory ”的错误,这时,我们需要手动创建设备文件:

           # mknod /dev/input/event2 c 13 66
           # mknod /dev/fb0 c 29 0
 

      5、执行测试命令

      重启开发板,在 /usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。 

相关内容