精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

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

大家好,我是情報小哥!

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

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

01

何為tslib

圖片

前面在移植Linux內核的時候,已經把touch觸摸驅動編譯進了內核了,那么上電便會自動加載相應的驅動。

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

圖片

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

圖片

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

02

安裝tslib

圖片

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

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

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

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

1sudo apt-get install autoconf automake libtool

圖片

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

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

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

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

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

圖片

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

圖片

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

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

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

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

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

圖片

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

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

圖片

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

圖片

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

圖片

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

圖片

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

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

**最 后 **

好了,這里小哥就介紹了一下tslib觸摸庫的簡單安裝與測試的相關知識,希望本文能夠對你有幫助,本系列文件還會持續更新。

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

    關注

    6023

    文章

    44376

    瀏覽量

    628422
  • Linux
    +關注

    關注

    87

    文章

    11123

    瀏覽量

    207919
  • 文件系統
    +關注

    關注

    0

    文章

    280

    瀏覽量

    19831
收藏 人收藏

    評論

    相關推薦

    觸摸屏單片機的通信實現

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

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

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

    單片機嵌入式LINUX開發的那點事兒

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

    嵌入式Linux觸摸屏在漆包線檢測系統中的應用

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

    用MODBUS實現觸摸屏單片機的通信

    講解如何利用 MODBUS通信協議 ,實現觸摸屏單片機的通信和控審I。詳細介紹了觸摸屏單片機的硬件連接、軟件設置及編輯、MODBUS通信協議的使用方法等內容。
    發表于 08-15 14:27 ?329次下載
    用MODBUS實現<b class='flag-5'>觸摸屏</b>與<b class='flag-5'>單片機</b>的通信

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

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

    講述如何實現單片機觸摸屏的通信

     隨著觸摸屏的應用和產量的增加,價格下降。因而有可能使用觸摸屏作為單片機控制設備的鍵盤和顯示裝置,提高單片機控制設備的檔次。
    發表于 01-06 14:14 ?1.4w次閱讀
    講述如何實現<b class='flag-5'>單片機</b>與<b class='flag-5'>觸摸屏</b>的通信

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

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

    基于I2C的嵌入式Linux多點觸摸屏幕驅動系統設計

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

    單片機or嵌入式linux

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

    單片機嵌入式Linux的思考

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

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

    嵌入式Linux環境下,為了觸摸屏界面的美觀,通常需要隱藏鼠標指針對于整個應用程序的解決方案是:QApplication::setOverrideCursor(Qt::BlankCursor);
    發表于 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>上隱藏鼠標指針的學習筆記

    是否要從單片機轉為嵌入式Linux

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

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

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

    嵌入式Linux觸摸屏圖形組態軟件的研究

    電子發燒友網站提供《嵌入式Linux觸摸屏圖形組態軟件的研究.pdf》資料免費下載
    發表于 10-13 09:24 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>觸摸屏</b>圖形組態軟件的研究