将tslib-1.4移植到Mini2440开发板

Author: Simon Lee Date: 2017/04/25

主机环境:Red Hat Enterprise Linux6

编译器:arm-linux-gcc 4.4.3
开发板:FriendARM2440,Linux-2.6.32.12

       作为训练,最近又重新移植了一次tslib,很久之前按照网络教程移植过了一次,结果失败了。本次开发板使用的是友善之臂的Mini2440。液晶触摸屏是天嵌的
4.3寸480*272规格的屏幕。


         说说之前失败的现象,在移植完毕以后测试tslib库bin目录下的ts_calibrate,出现了Illegal Instruction。原因是网上所说的arm-linux-gcc版本用错了。
在使用友善之臂公司提供了原装内核映像ZImage_P43时,一定要注意,当时编译该内核的时候采用了arm-linux-gcc 4.4.3版本的编译器。所以在移植tslib-1.4的时候,
也请一定要注意使用arm-linux-gcc 4.4.3版本的编译器,当时没留意编译器的环境问题,结果就出错。嵌入式开发还是很多细节问题要注意,马虎不得。

如网上的教案一样,首先需要下载tslib-1.4.tar.gz源码包,解压。 然后在解压后的文件夹里面再创建一个文件夹(名字随便,这里设定为tmp)。因为等下要移植的库文件
需要复制到开发板当中去,所以为了避免PC端的库函数所属用户名与开发板的权限不一致,需要在PC机当中用root身份执行编译操作。

1.在解压目录下执行make distclean清空旧配置文件(养成好习惯)。


2.执行"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache,作用是防止编译过程中出现错误"undefined reference to rpl_malloc"


3.我本人写了一个shell脚本,作为编译前的自动化配置流程,主要功能就是配置交叉编译器,一定要确保使用正确的arm-linux-编译器来编译程序,否则
无法完成跨平台的移植功能。再一次强调,不同的编译器编译的zImage映像文件一定要查清楚,当时自己编译内核的时候交叉编译器的版本是什么。shell脚本如下,
运行脚本./my_configure.sh(注意运行前修改权限 chmod 777 my_configure.sh)

#!/bin/bash
./configure --host=arm-none-linux-gnueabi --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
CC=/usr/local/arm/4.4.3/bin/arm-linux-gcc CXX=/usr/local/arm/4.4.3/bin/arm-linux=g++


export CC=/usr/local/arm/4.4.3/bin/arm-linux-gcc
export CXX=/usr/local/arm/4.4.3/bin/arm-linux-g++

4.执行配置完成以后,make && make install 安装程序到当前目录的tmp文件夹下
5.安装完成以后,到tmp目录下的bin文件夹下找到ts_calibrate.执行命令查看该文件的平台属性,如果属于ARM平台,说明交叉编译成功,可以用U盘或者网络挂载

下载到开发板里运行。


[student@localhost bin]$ file ts_calibrate 
ts_calibrate: ELF 32-bit LSB executable, ARM, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.32, 
not stripped


5.本人用U盘复制tmp文件夹下的4个文件夹内容到ARM开发板的/usr/local/tslib目录下存放
6.配置ARM开发板的环境变量,使用vi编辑器执行: vi /etc/profile
输入如下内容,保存并退出。

export TSLIB_ROOT=/usr/local/tslib                                            
export TSLIB_TSDEVICE=/dev/input/event0                
export TSLIB_FBDEVICE=/dev/fb0                         
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts              
   
export QWS_MOUSE_PROT0=tslib:/dev/input/event0         
export TSLIB_CALIBFILE=/etc/pointercal            
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf     
export POINTERCAL_FILE=/etc/pointercal            
export TSLIB_CONSOLEDEVICE=none                   
export QWS_SIZE=480*272                           
export QT_QWS_FONTDIR=$QTDIR/lib/fonts        
                                              
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

7.vi 编辑器修改/usr/local/tslib/etc/ts.conf内容,将
# module_raw input一行前面的符号和空格去掉,注意空格也不能留,文字顶格。

8.执行source /etc/profile
9.执行/usr/local/tslib/bin/ts_calibrate, 如果你的触摸屏出现了屏幕校正

功能,说明触摸屏库移植成功,否则就是移植不成功,请认真检查每一步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载tslib-1.4.tar.gz文件,可以通过CSDN网站进行下载。以下是具体步骤: 1. 打开CSDN网站,并进入其下载页面。 2. 在搜索框中输入tslib-1.4.tar.gz进行搜索。 3. 在搜索结果中找到相关的下载链接,并点击进入。 4. 查看下载页面上的介绍和相关信息,确保下载的文件是正确版本。 5. 点击下载按钮,开始下载tslib-1.4.tar.gz文件。 6. 下载完成后,可以在下载文件的默认保存位置找到该文件。 7. 解压缩下载的tslib-1.4.tar.gz文件。可以使用解压软件,如WinRAR或7-Zip等工具进行解压。 8. 解压后,就可以使用tslib-1.4.tar.gz文件进行相关的操作,如安装、配置等。 需要注意的是,CSDN作为一个开放的技术社区,提供了众多开发者共享的资源,但要注意选择可信的下载链接和源,确保所下载的文件是没有被恶意篡改或携带病毒的。 ### 回答2: tslib-1.4.tar.gz是一个名为tslib的软件包文件,它可能包含了一些用于触摸屏驱动和应用程序开发的工具和库。CSDN是一个在线技术社区,它为开发者提供了许多技术相关的资源。 如果你想要下载tslib-1.4.tar.gz文件,你可以在CSDN的网站上搜索该文件的下载链接。首先,访问CSDN的官方网站,并输入“tslib-1.4.tar.gz下载”进行搜索。在搜索结果中,你可能会找到一些相关的帖子或文章,其中包含了这个文件的下载链接。 点击下载链接后,你将被重定向到一个下载页面,在该页面上你可以选择下载文件的保存位置。一般来说,大部分的下载页面都会提供一个下载按钮或者链接,你只需点击它即可开始下载。 一旦下载完成,你可以找到你的下载文件夹,其中应该已经有了tslib-1.4.tar.gz文件。你可以使用解压软件(例如7-Zip)来解压或打开这个文件。 总之,要下载tslib-1.4.tar.gz文件,你可以通过访问CSDN的网站并搜索相关链接来实现。希望这个回答对你有所帮助。 ### 回答3: 要下载tslib-1.4.tar.gz,首先需要访问CSDN网站。我们可以在浏览器中输入CSDN的网址(https://www.csdn.net/)进行访问。在CSDN网站上,可以找到各种技术资源和开源软件。在搜索框中输入tslib-1.4.tar.gz,并点击搜索按钮,即可找到相关的下载链接。 在下载链接所在的页面上,我们可以找到tslib-1.4.tar.gz的详细信息,如版本号、文件大小以及更新日期等。通常,下载链接会以文本、图片或按钮的形式展示。点击下载链接后,即可开始下载tslib-1.4.tar.gz文件。 下载过程中,我们可以选择保存文件的路径和名称。一般来说,选择一个易于找到和记忆的文件保存路径是很重要的。下载完成后,我们可以在选择的路径下找到tslib-1.4.tar.gz文件。 tslib-1.4.tar.gz是一个压缩文件,我们需要解压缩才能使用其中的内容。可以使用类似WinRAR或7-Zip等解压工具对文件进行解压。解压完成后,可以得到一个名为tslib-1.4的文件夹,里面包含了tslib-1.4的源代码和其他相关文件。 现在,我们可以根据具体需求,使用tslib-1.4.tar.gz文件中的内容了。如果是进行编程开发,需要将tslib-1.4的源代码导入到项目中,并进行编译和运行。如果是进行研究或学习,可以查看文件中的文档或示例代码,以获取更多关于tslib-1.4的使用说明。 总之,通过在CSDN上下载tslib-1.4.tar.gz,我们可以获取到这个开源软件的压缩文件,并通过解压缩获得源代码和其他资源,从而满足我们对tslib-1.4的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值