一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

單片機(jī)步入嵌入式Linux之觸摸屏與tslib

汽車電子技術(shù) ? 來(lái)源:嵌入式情報(bào)局 ? 作者:情報(bào)小哥 ? 2023-02-21 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,我是情報(bào)小哥!

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

以后遇到其他的平臺(tái)都是類似的做法,燒錄的形式和相關(guān)配置原理上都大同小異。因?yàn)槲覀儽敬蔚哪康氖且浦睶t5.6,那么觸摸屏是肯定要玩起來(lái)的,比較方便的就是使用tslib庫(kù)來(lái)配合使用了。

01

何為tslib

圖片

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

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

圖片

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

圖片

所以tslib并不屬于驅(qū)動(dòng)層, 而是一個(gè)應(yīng)用軟件的C庫(kù)。

02

安裝tslib

圖片

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

下面小哥簡(jiǎn)單描述一下該過(guò)程 :

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

如果沒(méi)有安裝就采用如下命令進(jìn)行安裝:

1sudo apt-get install autoconf automake libtool

圖片

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

下載下來(lái)一般都是壓縮文件,直接解壓以后執(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腳本,然后通過(guò)執(zhí)行configure腳本用于指定安裝路徑等參數(shù),第三步命令則是編譯tslib庫(kù),然后采用make install進(jìn)行安裝,這樣tslib便會(huì)安裝到第二步所指定的安裝路徑。

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

圖片

3、因?yàn)橹凹虞d的觸摸屏驅(qū)動(dòng)是輸入子設(shè)備,這樣在tslib安裝目錄中的etc目錄下修改ts.conf文件,使得其支持input輸入子系統(tǒng),然后保存退出,這樣tslib安裝文件就準(zhǔn)備好了。

圖片

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

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)把安裝的文件放到了板級(jí)根文件系統(tǒng)中,那怎樣讓Linux系統(tǒng)中運(yùn)行的應(yīng)用程序找到所安裝的tslib目錄呢?

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

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

圖片

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

比如ts_print測(cè)試觸摸屏驅(qū)動(dòng)是否正常,運(yùn)行應(yīng)用程序以后,然后點(diǎn)擊觸摸屏,即可輸出相應(yīng)的坐標(biāo)數(shù)據(jù):

圖片

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

圖片

點(diǎn)擊屏幕上的提示點(diǎn),即可完成校準(zhǔn)。

圖片

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

圖片

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

同時(shí)如果對(duì)觸摸這塊比較感興趣還可以研究一下tslib開(kāi)源代碼進(jìn)行原理性學(xué)習(xí),一些算法還是可以借鑒一下的~

**最 后 **

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

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

    關(guān)注

    6067

    文章

    44961

    瀏覽量

    648865
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11496

    瀏覽量

    213247
  • 文件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    295

    瀏覽量

    20346
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

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

    嵌入式Linux下一種新的觸摸屏定標(biāo)方法的研究

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

    單片機(jī)嵌入式LINUX開(kāi)發(fā)的那點(diǎn)事兒

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

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

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

    基于嵌入式技術(shù)的智能儀器觸摸屏接口設(shè)計(jì)

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

    嵌入式工控機(jī)觸摸屏顯示器選購(gòu)指南

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

    ARM嵌入式觸摸屏的設(shè)計(jì)

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

    基于I2C的嵌入式Linux多點(diǎn)觸摸屏幕驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)

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

    單片機(jī)or嵌入式linux

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

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

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

    QT嵌入式Linux觸摸屏上隱藏鼠標(biāo)指針的學(xué)習(xí)筆記

    嵌入式Linux環(huán)境下,為了觸摸屏界面的美觀,通常需要隱藏鼠標(biāo)指針對(duì)于整個(gè)應(yīng)用程序的解決方案是: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>上隱藏鼠標(biāo)指針的學(xué)習(xí)筆記

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

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

    基于嵌入式LCD的觸摸屏的設(shè)計(jì)

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

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

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