热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

一、移植环境·主机:VMWare6.5--Fedora9·开发板:SBC3530-B1-1880-LUAC0CPU:OMAP3530(Cortex-A8);SDRAM:256M;NANDflash:256M·&nbs

一、移植环境
·   主  机: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.linuxidc.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的安装移植成功完成。 


推荐阅读
  • 1、概念解读1.1什么是链接?链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的方法。Linux系统中有两种链接:硬链接(HardLink)和软链接(SoftLink), ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 错误:requireluasql.mysqlstdin:1:moduleluasql.mysqlnotfound:nofieldpackage.preload[lua ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
author-avatar
营营420_769
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有