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

news/2024/7/10 4:28:38 标签: qt, library, reference, module, path, 脚本

完成了 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)
转载
标签:

tslib

ts_calibrate

ts_test

arm

移植

calibrate

触摸屏

校正

分类:TouchScreen

转载时请表明原文出处(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中


http://www.niftyadmin.cn/n/808213.html

相关文章

private static 这种设置的好处

静态的成员,都是类的属性,不是类的实例的属性,游戏运行中有类有多个实例,但静态成员只能有一个,这样可以在某些公用的地方达到节省内存的好处。 这样定义的变量 可以在 static function里面调用 首先,只这个…

Fiddler抓取数据并分析(完整的配置教程)

一、Fiddler 现在的移动应用程序几乎都会和网络打交道,所以在分析一个 app 的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助。对于HTTP包来说,已经有很多种分析的方法了,但是现在越来越多的…

Ubuntu下交叉编译tslib-1.4记录

在移植好触摸屏的驱动后,一般都要移植一个tslib来配合,在用户层对触摸屏的数据进行滤波和矫正,同时也可以给应用程序一个统一的接口,很多GUI都支持tslib的接口。对于tslib的基础知识和移植,网上google一下就是一大把&a…

VC++实现改变网关

网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用…

麒麟子再放大招,据传幼麟棋牌全部版本将开源!

前段时间有幸被「幼麟棋牌-麒麟子」 邀请加入幼麟游戏研发群,讨论学习游戏开发技术、行业动态等相关内容。在群中麒麟子透露,出一个重磅消息:“幼麟棋牌全部版本将开源!”在这里为不了解幼麟棋牌、麒麟子的伙伴做个简单介绍。幼麟…

SVN 使用简介及个人总结

SVN 如何来进行多人协作开发? 在实际工作中,通常是一个小组或者一个团队一起开发同一个项目,不同的人开发不同的功能模块,有一个公共的地方存放项目代码。 如果多个人同时对同一个文件做了修改,比如按照分工&#x…

「新手引导框架」升级,支持自动挂机等更多玩法!

01将新手引导框架开源之后,陆续收到不少伙伴们的反馈,其中有一个问题是“引导脚本的自动执行,只能在浏览器上运行,感觉有些鸡肋”。从最开始 Shawn 也一直在思考如何实现在原生环境上的屏幕点击模拟,之前的思路是分别在…

WDM驱动程序设计之设计开发篇 (转)

WDM驱动程序设计之设计开发篇 (转)[more](作者:苏金国 2000年11月09日 13:26)通过安装DDK和相应的开发软件,我们构造好了WDM驱动程序的开发环境。接着,我们就要深入进行设计与开发工作了。 ■WDM 驱动程序的运作流程 …