吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

單片機步入嵌入式Linux之觸摸屏與tslib

汽車電子技術 ? 來源:嵌入式情報局 ? 作者:情報小哥 ? 2023-02-21 11:06 ? 次閱讀

大家好,我是情報小哥!

本文為【從單片機步入嵌入式Linux】系列文章的第六篇,前面幾篇文章從uboot->內(nèi)核->根文件系統(tǒng),從基本的移植到燒錄,算是比較完整的介紹了Linux系統(tǒng)的一個全貌,并且從相對比較底層的角度跟大家一起來構(gòu)建了一個比較粗糙的嵌入式Linux平臺。

以后遇到其他的平臺都是類似的做法,燒錄的形式和相關配置原理上都大同小異。因為我們本次的目的是要移植Qt5.6,那么觸摸屏是肯定要玩起來的,比較方便的就是使用tslib庫來配合使用了。

01

何為tslib

圖片

前面在移植Linux內(nèi)核的時候,已經(jīng)把touch觸摸驅(qū)動編譯進了內(nèi)核了,那么上電便會自動加載相應的驅(qū)動。

那很多人該疑問了,有了驅(qū)動不就可以了嗎?為何還要弄一個tslib庫,可以直接進入tslib庫的官網(wǎng)(訪問:http://www.tslib.org/)了解一下它,進入官網(wǎng)后便會看到下圖:

圖片

明顯的可以看到其就是一個用于處理濾波觸摸屏事件的C庫,一款基于LGPLv2的免費軟件,為觸摸屏提供一個適配器層,可以完成校準,消抖等功能,從而為上層應用程序提供一個統(tǒng)一的接口,比如QT,MiniGUI等都可以調(diào)用相應的接口進行訪問。

圖片

所以tslib并不屬于驅(qū)動層, 而是一個應用軟件的C庫。

02

安裝tslib

圖片

tslib的安裝還是比較簡單的,通過在PC上進行交叉編譯,并安裝到相應的文件夾中,然后把安裝的文件移植到板級平臺上,配置好相應的環(huán)境變量即部署好了tslib庫使用環(huán)境。

下面小哥簡單描述一下該過程 :

1、在進行tslib交叉編譯之前需要確認編譯環(huán)境是否安裝好autoconf、automake、libtool,這三個東西都屬于automake工具,主要是用于配置腳本和自動創(chuàng)建makefile等,而tslib編譯所采用的就是這種方式。

如果沒有安裝就采用如下命令進行安裝:

1sudo apt-get install autoconf automake libtool

圖片

2、這里我們采用常用的tslib-1.4,該源文件可以直接在tslib官網(wǎng)上進行下載

下載下來一般都是壓縮文件,直接解壓以后執(zhí)行如下命令:

1./autogen.sh
2./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes CC=/home/book/WorkSpace/Qt/src/arm-linux-gcc-4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc CXX=/home/book/WorkSpace/Qt/src/arm-linux-gcc-4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ -prefix=/home/book/WorkSpace/Qt/src/tslib-1.4/touch_root
3make CROSS_COMPILE=/home/book/WorkSpace/Qt/src/arm-linux-gcc-4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux- ARCH=arm -j8
4make install CROSS_COMPILE=/home/book/WorkSpace/Qt/src/arm-linux-gcc-4.4.3/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux- ARCH=arm -j8

執(zhí)行autogen.sh腳本從而生成./configure腳本,然后通過執(zhí)行configure腳本用于指定安裝路徑等參數(shù),第三步命令則是編譯tslib庫,然后采用make install進行安裝,這樣tslib便會安裝到第二步所指定的安裝路徑。

一切執(zhí)行順利便可以在安裝路徑中看到如下內(nèi)容:(此過程與busybox安裝其實是類似的)

圖片

3、因為之前加載的觸摸屏驅(qū)動是輸入子設備,這樣在tslib安裝目錄中的etc目錄下修改ts.conf文件,使得其支持input輸入子系統(tǒng),然后保存退出,這樣tslib安裝文件就準備好了。

圖片

4、下面我們把該touchroot文件夾進行壓縮轉(zhuǎn)移到之前制作好的nfs網(wǎng)絡共享文件系統(tǒng)路徑下(NFS網(wǎng)絡文件系統(tǒng)設置和使用查找往期文章)來進行測試,并進行解壓。

1tar zcvf touch_root.tar.gz touch_root/
2mkdir ../../busybox/usr/local
3cp touch_root.tar.gz ../../busybox/usr/local/
4cd ../../busybox/usr/local/
5tar zxvf touch_root.tar.gz

雖然已經(jīng)把安裝的文件放到了板級根文件系統(tǒng)中,那怎樣讓Linux系統(tǒng)中運行的應用程序找到所安裝的tslib目錄呢?

一種是應用程序直接以絕對路徑進行查找,這樣太過死板,而另外一種則是配置好預定義的環(huán)境變量,應用程序只需要查找系統(tǒng)的環(huán)境變量既可以找到對應的tslib安裝路徑。(環(huán)境變量等知識可以查找往期文章)

5、在根文件系統(tǒng)中的etc目錄中創(chuàng)建profile文件,并進行如下環(huán)境變量配置,系統(tǒng)在啟動過程中便會執(zhí)行profile文件中的內(nèi)容,從而設置好相應的環(huán)境變量,以后應用程序便能找到安裝路徑了。

圖片

如果一切順利,便可以執(zhí)行tslib中bin文件中的測試程序來檢測是否安裝成功。

比如ts_print測試觸摸屏驅(qū)動是否正常,運行應用程序以后,然后點擊觸摸屏,即可輸出相應的坐標數(shù)據(jù):

圖片

還有ts_calibrate程序主要用于校準,一運行屏幕便會出現(xiàn)如下畫面。

圖片

點擊屏幕上的提示點,即可完成校準。

圖片

同時還會在環(huán)境變量所配置的生成校準文件的路徑下,生成校準文件-pointercal供每次啟動使用,這樣用戶就不需要每次都進行校準了。

圖片

那么tslib庫的安裝和部署就暫時講到這里,其他平臺也都大同小異,主要是一些配置根據(jù)對應的平臺和使用情況進行修改即可。

同時如果對觸摸這塊比較感興趣還可以研究一下tslib開源代碼進行原理性學習,一些算法還是可以借鑒一下的~

**最 后 **

好了,這里小哥就介紹了一下tslib觸摸庫的簡單安裝與測試的相關知識,希望本文能夠?qū)δ阌袔椭鞠盗形募€會持續(xù)更新。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638532
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210389
  • 文件系統(tǒng)

    關注

    0

    文章

    287

    瀏覽量

    19978
收藏 人收藏

    評論

    相關推薦

    觸摸屏單片機的通信實現(xiàn)

    隨著觸摸屏的應用和產(chǎn)量的增加,價格下降。因而有可能使用觸摸屏作為單片機控制設備的鍵盤和顯示裝置,提高單片機控制設備的檔次。
    發(fā)表于 10-11 17:53 ?2.4w次閱讀
    <b class='flag-5'>觸摸屏</b>與<b class='flag-5'>單片機</b>的通信實現(xiàn)

    單片機步入嵌入式Linux連接過程中幾個地址的區(qū)分與理解

    本文為【單片機步入嵌入式Linux】系列文章的第二篇,主要是跟大家講解一下鏈接過程中幾個地址的區(qū)分與理解~01單片機存儲分配在玩
    發(fā)表于 12-13 06:59

    嵌入式Linux下一種新的觸摸屏定標方法的研究

    介紹了一種新型基于嵌入式Linux平臺的觸摸屏定標方法。首先對嵌入式系統(tǒng)觸摸屏接口電路進行了簡單介紹,而后詳細分析了一種基于
    發(fā)表于 04-24 10:25 ?17次下載

    單片機嵌入式LINUX開發(fā)的那點事兒

    單片機嵌入式LINUX開發(fā)的那點事兒
    發(fā)表于 07-26 13:07 ?25次下載

    嵌入式Linux觸摸屏在漆包線檢測系統(tǒng)中的應用

    本文針對嵌入式Linux觸摸屏在漆包線檢測系統(tǒng)中的應用,介紹了本系統(tǒng)中觸摸屏的具體接口電路,嵌入式Lin
    發(fā)表于 07-27 15:47 ?29次下載

    基于嵌入式技術的智能儀器觸摸屏接口設計

    研究開發(fā)了嵌入式智能儀器的觸摸屏接口; 分析了電阻觸摸屏的工作原理; 設計了觸摸屏與微處理器的接口電路; 開發(fā)了
    發(fā)表于 06-05 09:33 ?2850次閱讀
    基于<b class='flag-5'>嵌入式</b>技術的智能儀器<b class='flag-5'>觸摸屏</b>接口設計

    嵌入式工控觸摸屏顯示器選購指南

    嵌入式工控觸摸屏顯示器選購指南
    發(fā)表于 10-26 08:45 ?19次下載
    <b class='flag-5'>嵌入式</b>工控<b class='flag-5'>機</b>與<b class='flag-5'>觸摸屏</b>顯示器選購指南

    ARM嵌入式觸摸屏的設計

    嵌入式系統(tǒng)觸摸屏的應用越來越廣泛,諸如以PDA為標志的數(shù)碼產(chǎn)品逐漸選用LCD觸摸屏作為系統(tǒng)的輸入設備.觸摸屏分為電阻、電容、表面聲波、紅外線掃描和矢量壓力傳感等,其中用的最普遍的是四線
    發(fā)表于 03-16 16:11 ?21次下載
    ARM<b class='flag-5'>嵌入式</b><b class='flag-5'>觸摸屏</b>的設計

    基于I2C的嵌入式Linux多點觸摸屏幕驅(qū)動系統(tǒng)設計

    電容觸摸屏。本文通過對以cypress 7958為代表的I2C總線接口電容多點觸摸屏的研究,設計了針對Linux操作系統(tǒng)的多點
    發(fā)表于 10-13 09:12 ?1252次閱讀
    基于I2C的<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>多點<b class='flag-5'>觸摸屏</b>幕驅(qū)動系統(tǒng)設計

    單片機or嵌入式linux

    最近很多童鞋投票并咨詢?nèi)绾螐?b class='flag-5'>單片機轉(zhuǎn)做嵌入式Linux開發(fā)。看來讀者圈中做單片機,RTOS的不少。盡管我目前從事Linux/Android方
    發(fā)表于 11-01 16:26 ?17次下載
    <b class='flag-5'>單片機</b>or<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>

    單片機轉(zhuǎn)嵌入式Linux的思考

    一、你真的決定要轉(zhuǎn)嵌入式Linux嗎?要不要從單片機轉(zhuǎn)嵌入式Linux是一個影響到職業(yè)發(fā)展的嚴肅決策,火哥不能幫你拿主意,只能幫你列出利弊,
    發(fā)表于 11-01 17:36 ?6次下載
    <b class='flag-5'>單片機</b>轉(zhuǎn)<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的思考

    QT嵌入式Linux觸摸屏上隱藏鼠標指針的學習筆記

    嵌入式Linux環(huán)境下,為了觸摸屏界面的美觀,通常需要隱藏鼠標指針對于整個應用程序的解決方案是:QApplication::setOverrideCursor(Qt::BlankCursor);
    發(fā)表于 11-02 15:06 ?14次下載
    QT<b class='flag-5'>之</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>下<b class='flag-5'>觸摸屏</b>上隱藏鼠標指針的學習筆記

    是否要從單片機轉(zhuǎn)為嵌入式Linux

    最近很多童鞋投票并咨詢?nèi)绾螐?b class='flag-5'>單片機轉(zhuǎn)為嵌入式Linux開發(fā)。看來讀者圈中做單片機,RTOS的不少。盡管小編目前從事Linux/Android
    發(fā)表于 11-13 20:51 ?11次下載
    是否要從<b class='flag-5'>單片機</b>轉(zhuǎn)為<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>

    基于嵌入式LCD的觸摸屏的設計

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式LCD的觸摸屏的設計.doc》資料免費下載
    發(fā)表于 10-12 10:18 ?4次下載
    基于<b class='flag-5'>嵌入式</b>LCD的<b class='flag-5'>觸摸屏</b>的設計

    嵌入式Linux觸摸屏圖形組態(tài)軟件的研究

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux觸摸屏圖形組態(tài)軟件的研究.pdf》資料免費下載
    發(fā)表于 10-13 09:24 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>觸摸屏</b>圖形組態(tài)軟件的研究
    大发888代理| 做生意门朝东好吗| 百家乐永利赌场娱乐网规则| 澳门葡京赌场图片| 康莱德百家乐官网的玩法技巧和规则| 威尼斯人娱乐城投注| 百家乐官网群柏拉图软件| 百家乐官网网上真钱娱乐场开户注册| 百家乐永利赌场娱乐网规则| 百家乐官网扫瞄光纤洗牌机扑克洗牌机扑克洗牌机 | 大发888娱乐城账号| 任我赢百家乐官网软件| 大发888娱乐场注册| 百家乐官网论坛| 百家乐太阳城| 百家乐官网倍投工具| 云博娱乐城,| 游戏厅百家乐技巧| 南雄市| 百家乐娱乐城赌场| 至尊百家乐官网2014| 云鼎百家乐的玩法技巧和规则| 百家乐官网统计| 大发888赌博| 在线百家乐有些一| 百家乐官网最新破| 鸿胜国际| 百家乐开闲几率| 百家乐官网9人桌| 真人娱乐城源码| 太阳城百家乐分析解码| 百家乐官网视频对对碰| 百家乐官网投注哪个信誉好| 老虎机在线ap888| 做生意放什么东西招财| 百家乐官网优博娱乐城| tt娱乐城clega| 百家乐博百家乐的玩法技巧和规则| 百家乐投注法则| 百家乐官网开户送18元| 大发888网站是多少|