步骤1:下载工具包

  如下图

  链接在此,点我

步骤2:将tslib文件放入Linux虚拟机中,

步骤3:解压源码

  tar -xvf tslib-1.4.tar

  cd tslib-1.4

步骤4:执行autogen.sh脚本产生configure文件。

   chmod 777 autogen.sh     赋予执行权限

     ./autogen.sh

   若出现以下问题(绿字),说明是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装automake 工具。(没有连接网络时,需连接)

  ./autogen.sh: 4: autoreconf: not found

  用一下命令即可。

  sudo apt-get install autoconf automake libtool 

 

步骤5:执行configure生成Makefile文件。

  先查看交叉编译工具的全名

(好像有点尴尬,用已知的全名查询全名。。。。。不过可以输入前几个字母按tab键补全,会弹出全名)

  $ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

  $ vi tslib-1.4/plugins/input-raw.c

 

  $ ./configure  --host=arm-cortex_a8-linux-gnueabi  --prefix=/home/linux/tslib --cache-file=$ARCH-linux.cache

说明:

  --host是指你的交叉编译器的前缀;例如:你的交叉编译器是arm-linux-gcc,--host=arm-linux.如果是arm-none-linux-gnueabi-gcc

   --host=arm-none-linux-gnueabi

     --prefix 是你执行make install 的时候编译后生成的可执行文件和库文件以及配置文所安装的目录,这个目录不能和tslib源码目录相同;

 步骤6:编译安装 

  $ make

  有图示错误,这是因为open函数的语法不符合最新的gcc,解决方法是在/tests/ts_calibrate.c中加入open的第三个参数0777:

  修改如下。

1 if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
2 cal_fd = open (calfile, O_CREAT | O_RDWR, 0777);
3 } else {
4 cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777);
5 }

  ①查找 grep calfile ./tests/ts_calibrate.c -n

  由图可知,在文件226行左右修改。

  sudo vim ./test/ts_calibrate.c

  修改之后,重新make,问题不见了

  $ make  install

步骤7:将与安装目录同级下的tslib文件复制到挂宅文件系统中。

  $ cp -a /home/linux/tslib/ /source/rootfs

步骤8:修改/rootfs/tslib下的etc目录中ts.conf文件

  将第二行的#module_raw input修改成module_raw input,注意一定要顶格写,否则程序执行时会发生读取ts.conf错误每次重编译tslib并安装后,都要重新修改/etc/ts.conf

  #  cd tslib/etc/

  #  vi ts.conf   修改长如下。

步骤9:导出环境变量

  在/source/rootfs/etc/profile中添加如下代码:

 

步骤10:开发板上运行/tslib/bin下的测试程序

  # /tslib/bin/ts_calibrate

posted on 2018-08-09 09:49  kingofloong  阅读(681)  评论(0编辑  收藏  举报