Qt + 觸控 移植 – Qt and Touch Screen Porting to SBC6446 with LEOs for DaVinci

完成了 Qt 接下來就是要讓觸控面板的功能也起來

因為之前有兩篇教學了

所以這篇照片可能會跳的比較快

不懂的話可以回去看看前兩篇的設定

[達文西] 建置開發環境 – Based on EDK6446 with LEOs for DaVinci

[達文西] Qt 移植 – Qt Porting to SBC6446 with LEOs for DaVinci

 

為了之後的方便

所以先切換到 root 去比較好辦事

sudo su

 

然後切換到opt的資料夾去

cd /opt/

 

下載觸控套件 tslib

wget http://download.berlios.de/tslib/tslib-1.0.tar.bz2

 

下載下來以後當然是解壓縮囉

tar -jxvf tslib-1.0.tar.bz2


解壓縮完以後就進道該目錄

cd tslib-1.0


再進行下一步之前先安裝兩個套件

apt-get install automake libtool


安裝完以後直接輸入底下指令

./autogen.sh

這是為了要產生
configure 檔要用來 make 的


這是輸入完上面那指令之後的畫面

接下來就是要下一些設定檔了

跟qt還蠻像的

 

下組態囉

./configure -prefix=/opt/tslib
CC=arm-unknown-linux-gnueabi-gcc CXX=arm-unknown-linux-gnueabi-g++
-host=arm-linux ac_cv_func_malloc_0_nonnull=yes

-prefix=/opt/tslib 可以指定你要安裝的目錄在那邊

可以自己改


等跑完以後接下來就是要 make了

放心~這不是 qt 所以只要幾分鐘就可以了

make

 

make 完以後就是要安裝啦!!

make install

 

安裝完以後的東西會再你設定的那路徑

我剛剛是在/opt/tslib

所以看看裏面有啥檔案囉

cd /opt/tslib

ls

我們會發現有四個資料夾

 

觸控得部份到此就算成功了

再下來就是要把他放到 qt 裏面了

很不幸的…需要從編 qt

cd /opt/qt-embedded-linux-opensource-src-4.5.0

 

接下來就是要下組態指令囉

不過這邊跟上一篇不一樣唷

因為我們要加入觸控功能

./configure -embedded arm -qt-zlib -qt-libpng -qt-gif -qt-libtiff
-qt-libmng -qt-libjpeg -qt-freetype -no-openssl -qt-mouse-tslib
-L /opt/tslib/lib -I
/opt/tslib/include

紅色的部份就是我們剛剛編好的觸控功能

 

選擇 yes 開始組態

之後就要開始漫長的等待囉

make

 

等了快一個半小時以後

編好又沒有錯誤就安裝吧

make install

 

接下來將安裝的檔案複製到nfs的資料夾(要給版子的)

之前設定是在/opt/target

cp -a /usr/local/Trolltech /opt/target/usr/local/


因為有兩個檔案 librt.so.1 librt-2.4.so 需要複製到 lib 資料夾去

所以

cp -a /opt/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/lib/librt.so.1 /opt/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/lib/librt-2.4.so /opt/target/usr/local/Trolltech/QtEmbedded-4.5.0-arm/lib

 

接下來用 minicom 進到板子裡面

不會的請回去看上兩篇

接下來要設定一些環境變數

話請回去上前兩篇…

之後設定一些環境變數

export QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-arm

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export
QWS_MOUSE_PROTO="tslib"

紅色的部份是新增的

 

接下來先不要急著執行範例程式

因為接下來這問題我卡了好幾天

原來板子要先矯正過邊界

才可以正常執行觸控面板

所以先下底下指令來設定一下邊界

ts_calibrate

 

出現這畫面以後

看到左上角那個正方形了沒

按了他又會跑出另外一個

跟著把他全部按光光

就會出現藍色的畫面了

當然

這不是微軟的藍白當

請不要擔心

 

執行完以後會顯示這些東西

不管他

直接執行另外一個程式

 

下了底下這指令會有更好玩的東西唷

ts_test

基本上到這邊已經可以正常執行 qt 裏面的 demo 程式了

 

哈哈~

有人知道這上面是啥意思嗎?

樹德科技大學 資訊工程系

justfor1221

唉~早知道就自己買一個網址來用了

這樣就可以打廣告了

 

按下鍵盤上面的 Ctrl + C

結束這支程式

然後切換到 Qt 的範例程式資料夾

cd /usr/local/Trolltech/QtEmbedded-4.5.0-arm/demos/

 

看要執行哪一個隨便自己挑囉

./textedit/textedit -qws

記得阿~

都要加上 -qws

 

可以選擇東西

也可以反白囉!!

 

 

 

 

 

tslib 移植

(2009-06-08 07:56:36)

转载时请表明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com)

 

 本文关注的是tslib的编译和使用。

 

1. 下载最新源码 (v1.4)

apt-get source tslib

2. 运行 "autogen.sh"

3. 运行 "./configure --host=arm-linux"

4. 在tslib-1.0中运行make

  可能报错“ts_test.c:(.text+0x200): undefined reference to `rpl_malloc'”,原因是在tslib-1.0/config.h中有一行定义“#define malloc rpl_malloc”,直接注释即可,除非你自己实现了一个malloc版本

 

5.重新make, 成功。

 

按照上述步骤编译成功后, 相应的binaries存在如下目录中:

tslib-1.0/src/.libs : libts.so

tslib-1.0/plugins/.libs: 所有的plugin odule, 如input.so, pthres.so, linear.so等

tslib-1.0/tests/.libs: 所有的测试实例,ts_calibrate, ts_harvest等。

 

6. 运行ts_calibrate and ts_test

(1)在运行tslib-1.0/tests/.libs/ts_calibrate之前,需要设计一些环境变量,它们是:

export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/test/ts_lib/tslib-1.0/etc/ts.conf
export TSLIB_PLUGINDIR=/test/ts_lib/tslib-1.0/plugins/.libs
export LD_LIBRARY_PATH=/test/ts_lib/tslib-1.0/src/.libs
export TSLIB_CALIBFILE=/test/ts_lib/tslib-1.0/etc/pointercal

 后面的目录指向开发板上的目录(如nfs等)

 

(2)在tslib-1.0/tests 目录下有一个ts_calibrate的程序,这是一个脚本程序,是对tslib-1.0/tests/.libs/ts_calibrate的封装,如果直接运行这个脚本,在我的机器上出现“segmentation Fault"

(3)我选择直接运行tslib-1.0/tests/.libs/ts_calibrate, 报错“No raw modules loaded.”, 原因是缺省时,tslib将etc/ts.conf中所有的raw module 注释掉了,打开第一项“module_raw input”。

 (4) 重新运行,应该成功.在屏幕上出现需要校正的“+”,校验后的结果存在在TSLIB_CALIBFILE中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值