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

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

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

Linux系統(tǒng)中觸摸庫報錯怎么解決

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

大家好,我是情報小哥~

在編譯Linux系統(tǒng)的過程中,總?cè)菀子龅礁鞣N大大小小的問題,要么是某個編譯選項設(shè)置不正確,編譯器與編譯源碼不匹配,又或者是系統(tǒng)中沒有安裝相應(yīng)的軟件或者庫等等。

然而這些問題運(yùn)氣不錯網(wǎng)絡(luò)上搜索一下即可搞定,然而遇到生僻一點的問題,那估計得把你折騰得半死,問題是還不一定弄得好。

好在這些成熟的組件或者系統(tǒng)源碼在編譯或者使用異常以后,或多或少都會輸出一些信息,供程序員進(jìn)行問題排查。

那么小哥下面就簡單介紹一下最近遇到的tslib問題排查過程。

01

一個問題

圖片

在部署完tslib環(huán)境以后,其安裝目錄中會生成一些測試程序供用戶使用,然而當(dāng)我們運(yùn)行相應(yīng)的測試應(yīng)用程序,卻得到如下結(jié)果 :

圖片

表示環(huán)境變量中指定的設(shè)備,tslib庫識別不出該設(shè)備為觸摸設(shè)備。而這樣的錯誤字符串的輸出,一般都來源于源碼,直接在tslib源碼路徑中進(jìn)行搜索得到如下結(jié)果。(當(dāng)然如果要進(jìn)行詳細(xì)的分析也可以使用VSCode等工具分析)

圖片

這里采用grep命令行對路徑中的文件進(jìn)行字符串的查找,grep主要是用于搜索匹配模板的行,默認(rèn)情況下就是打印出來匹配的行。

-n選項表示:以行號作為前綴;

-R選項表示遞歸讀取每級目錄下的所有文件。

更加詳細(xì)的使用說明就交給man grep了。

上面的輸出結(jié)果,其字符串來源于input-raw.c文件的61行,看一下該文件輸出該字符串的條件,并根據(jù)條件來進(jìn)行判斷和調(diào)試。

圖片

可以直接修改此部分的判斷語句,進(jìn)行調(diào)試,輸出到底是那個條件導(dǎo)致無法滿足。

通過調(diào)試可以了解到version==EV_VERSION條件不滿足,一個是內(nèi)核傳入的,一個是編譯器指定的。

通過同樣的方式可以查到內(nèi)核中的EV_VERSION的定義如下:

圖片

同樣查找編譯器中的EV_VERSION的定義如下:

圖片

兩者確實是不同,所以導(dǎo)致運(yùn)行tslib庫報錯,這里我們優(yōu)先把內(nèi)核中的EV_VERSION改成與編譯器的一致,看是否能夠解決該問題。

然后重新編譯內(nèi)核并進(jìn)行燒錄。

完成以后直接運(yùn)行bin文件下的ts_print測試觸摸屏驅(qū)動看是否正常,運(yùn)行程序以后沒有再輸出之前的異常字符串,然后點擊觸摸屏,即可看到終端輸出相應(yīng)的坐標(biāo)數(shù)據(jù):

圖片

這樣看來tslib初步測試和部署完成。

**最 后 **

好了,這里小哥就介紹了一下tslib觸摸庫部署過程一個排查問題的基本過程,很多類似的問題也可以嘗試這樣排查,希望本文能夠?qū)δ阌袔椭?,本系列文件還會持續(xù)更新。

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

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207920
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1602

    瀏覽量

    48896
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    646

    瀏覽量

    32672
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式Linux系統(tǒng)GUI編程

    嵌入式Linux 系統(tǒng)UI( 用戶界面) 編程需要圖形的支持,圖形可以看作基本的圖形繪制支撐
    發(fā)表于 12-20 06:04

    Linux系統(tǒng)燒寫DNW報錯這是什么問題

    按照Linux 3.0.1用戶手冊“一鍵燒寫Linux系統(tǒng)”相關(guān)內(nèi)容,在最后一步燒寫時DNW報錯:** Unable to read "u-boot.bin" from mmc
    發(fā)表于 01-13 06:41

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

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

    Linux系統(tǒng)共享編程

    一、說明 類似Windows系統(tǒng)的動態(tài)鏈接Linux也有相應(yīng)的共享用以支持代碼的復(fù)用
    發(fā)表于 09-13 16:49 ?24次下載

    深入分析Windows和Linux動態(tài)應(yīng)用異同

    深入分析Windows和Linux動態(tài)應(yīng)用異同 摘要:動態(tài)鏈接技術(shù)實現(xiàn)和設(shè)計程序常用的技術(shù),在Windows和Linux系統(tǒng)中都有動
    發(fā)表于 10-22 11:36 ?1270次閱讀

    Linux下靜態(tài)和動態(tài)(共享)的制作與使用

    Linux下靜態(tài)和動態(tài)(共享)的制作與使用Linux
    發(fā)表于 07-09 14:39 ?1115次閱讀

    linux靜態(tài)和動態(tài)分析

    1.什么是 在windows平臺和linux平臺下都大量存在著。 本質(zhì)上來說庫是一種可執(zhí)行代碼的二進(jìn)制形式,可以被操作系統(tǒng)載入內(nèi)存執(zhí)行。 由于windows和
    發(fā)表于 11-02 10:12 ?1次下載

    Linux基礎(chǔ)教程之linux如何使用CP報錯

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux基礎(chǔ)教程之linux如何使用CP報錯詳細(xì)資料免費(fèi)下載
    發(fā)表于 10-26 17:15 ?10次下載

    Holtek觸摸開發(fā)生成使用說明

    Holtek觸摸開發(fā)生成使用說明。
    發(fā)表于 03-24 10:18 ?8次下載

    C++基礎(chǔ)語法知識之鏈接裝載Linux 的共享

    Linux 的共享(Shared Library) Linux 下的共享就是普通的 ELF 共享對象。 共享版本更新應(yīng)該保證二進(jìn)制接口
    的頭像 發(fā)表于 11-01 10:15 ?2814次閱讀

    Linux的靜態(tài)和共享

    是一個二進(jìn)制文件,包含的代碼可被程序調(diào)用。例如標(biāo)準(zhǔn)C、數(shù)學(xué)、線程等等。有源碼,可下載后編譯,也可以直接安裝二進(jìn)制包。
    的頭像 發(fā)表于 05-10 09:34 ?868次閱讀

    Vitis嵌入式Linux:Sysroot和的用法

    本文演示了在Vitis? Linux 應(yīng)用程序開發(fā)的過程如何使用外部
    的頭像 發(fā)表于 07-07 14:14 ?956次閱讀
    Vitis嵌入式<b class='flag-5'>Linux</b>:Sysroot和<b class='flag-5'>庫</b>的用法

    如何查看linux程序共享呢?

    linux系統(tǒng),程序通常需要依賴于外部來正常工作。這些可以直接編譯到程序,也可以從共享
    的頭像 發(fā)表于 08-28 09:11 ?1375次閱讀
    如何查看<b class='flag-5'>linux</b>程序共享<b class='flag-5'>庫</b>呢?

    數(shù)據(jù)數(shù)據(jù)恢復(fù)-oracle數(shù)據(jù)報錯無法打開的數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)數(shù)據(jù)恢復(fù)環(huán)境: 一臺服務(wù)器,底層由12塊硬盤組成一組磁盤陣列,上層操作系統(tǒng)上運(yùn)行oracle數(shù)據(jù)。 oracle數(shù)據(jù)故障: 數(shù)據(jù)
    的頭像 發(fā)表于 10-12 14:00 ?703次閱讀

    數(shù)據(jù)數(shù)據(jù)恢復(fù)—MSSQL Server報錯“附加數(shù)據(jù)錯誤823”的數(shù)據(jù)恢復(fù)案例

    MSSQL Server數(shù)據(jù)比較常見的報錯是“附加數(shù)據(jù)錯誤823”。如果數(shù)據(jù)有備份,只需要還原備份即可;如果無備份或者備份不可用,則需要使用專業(yè)的數(shù)據(jù)恢復(fù)手段去恢復(fù)數(shù)據(jù)。
    的頭像 發(fā)表于 11-10 16:20 ?705次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復(fù)—MSSQL Server<b class='flag-5'>報錯</b>“附加數(shù)據(jù)<b class='flag-5'>庫</b>錯誤823”的數(shù)據(jù)恢復(fù)案例