時間:2018年3月13日
平臺:unbuntu12.04(32位環境)
目標環境:tq2440
編譯器:arm-linux-4.4.3
現在ubuntu的版本已經更新到了17.04,但是爲什麼樓主還要使用ubuntu12.04?我之前用的ubuntu16.04(64bit),但是arm-linux-4.4.3是32bit的編譯器,很多東西都不兼容,爲了兼容,你又不得不在64位的環境下安裝32位的庫,但是還是有接連不斷的error。那麼你不得不問?爲什麼看別人博客的移植教程,沒這麼多問題。不得不說TQ2440是一個比較老的開發板了,你就不該用ubuntu16.04給他注入新鮮的血液。所以,裝個ubuntu12.04吧,這是清華鏡像的鏈接:
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/12.04/
我用的ubuntu-12.04.5-desktop-i386.iso。
接下來,準備以下包
tslib-1.4.tar.gz(鏈接: https://pan.baidu.com/s/1e7XokhDa8yO738OT_Z4jhg 密碼: dme5)
這裏已經默認已經搭建好arm-linux-gcc 環境(可用 arm-linux-gcc -v 檢測,若搭建好,會顯示版本信息 ,若沒有安裝成功,可以參看我的另一篇博客點擊打開鏈接)
1、解壓&配置&編譯
首先需要安裝以下幾個包autoconf automake libtool
#sudo apt-get install autoconf automake libtool
tar zxvf tslib-1.4.tar.gz
sudo mkdir -p /usr/local/tslib
cd tslib
./autogen.sh
./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ -prefix=/usr/local/tslib
make
sudo make install
安裝完成之後,tslib 就安裝在虛擬機 /usr/local/tslib 目錄下
2、更改 tslib 配置文件
cd /usr/local/tslib/etc/
sudo gedit ts.conf
去掉第二行# module_raw input 前面的 “#” 和空格(注意 空格也要去掉)
3、將製作好的 tslib 打包,通過超級終端發送到板子上(路徑:/usr/local)
cd /usr/local
tar xzvf tslib.tar.gz
rm tslib.tar.gz
4、添加 tslib 環境變量(個人建議最好給原profile做個備份)
將原文件做如下修改(注:第二行中的event1與你板子有關,具體是event幾,可以查看原profile)
if [ -f /sys/devices/virtual/input/input1/uevent ] ; then
export set TSLIB_TSDEVICE=/dev/event1
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
export set TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export set QWS_MOUSE_PROTO="TPanel:/dev/event1 USB:/dev/mouse0"
else
export set QWS_MOUSE_PROTO="USB:/dev/mouse0"
fi
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
export set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tslib/lib
此時,tslib 就已經移植好了
cd /usr/local/tslib/bin
./ts_calibrate
此時,你在板子上用觸控筆進行觸控校準。