精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

?你確定是你的驅動出問題了嗎?

原創 精選
移動開發 移動應用
對于初級開發人員來說,強烈建議按照上面的步驟進行開發調試,因為許多初級人員無法像高級開發人員那樣,可以從機器的狀態和節點信息,快速推斷出可能出問題的模塊或者環節。

作者 |趙青窕

審校 |孫淑娟

在安卓驅動開發中,不少開發同事反饋的問題在定位后,我發現這些問題大多不是驅動本身的問題,而是開發者對驅動框架理解的不夠透徹。比如有些開發者燒錄到硬件板子中的鏡像本身就不包含驅動的任何信息,有些開發者本地的代碼中沒有對應器件的驅動。

在這兩種情況下,有些剛開始接觸驅動的開發者已經開始進行基于硬件環境的調試,此時他們的硬件環境中是不存在對應的器件驅動的,該器件百分百是無法工作的。但經驗不足的開發者甚至可能會消耗數天時間來排查器件不工作的原因,為了防止這種低端問題的再次出現,我整理了一份驅動檢查表,其主要內容如下:

  • 你當前的軟件代碼中是否存在器件對應的驅動和設備樹信息
  • 如不存在驅動和設備樹,該如何處理
  • 如何確保你的驅動和設備樹已正常編譯
  • 如何確保你的鏡像中包含正確使用的驅動和設備樹
  • 如何確保燒錄鏡像后的硬件環境中,存在對應的驅動和設備樹信息

以上這五項是環環相扣的,只有在上一步正確的前提條件下,才能進行下一步。

對于初級開發人員來說,強烈建議按照上面的步驟進行開發調試,因為許多初級人員無法像高級開發人員那樣,可以從機器的狀態和節點信息,快速推斷出可能出問題的模塊或者環節。接下來,我將詳細的描述如何確認每一個環節。

1.驅動和設備樹信息確認及獲取

對于安卓模式來說,項目中所用的大部分器件的驅動和設備樹均需要從器件廠的FAE處獲取,比如指紋,LCD,sensor,NFC。當我們拿到這類器件的設備樹和驅動后,結合硬件原理圖進行設備樹的適配,把驅動和設備樹放在本地代碼相應位置處,然后進行編譯配置進行編譯即可。

除了上述類型的器件外,還有一類器件,比如SD卡驅動,按鍵驅動,指示燈驅動等會隨著平臺方(高通,展銳,MTK等)的基線進行釋放,但也有例外,我最近從事的MTK平臺的項目,其釋放的基線中就不包含某一功能的驅動,最后我是從MTK平臺索要的驅動代碼,然后進行的功能調試。

對于一些特殊的定制化功能,可能就沒有供應商,且平臺默認也不支持這種功能,這種時候就需要自己編寫驅動和設備樹。

綜上所述,假如當前代碼中缺少對應平臺的驅動和設備樹,需要通過平臺提供的渠道索要獲取,其他驅動可以從器件供應商處獲取。那么問題來了,我們如何判斷當前代碼是否已包含我們需要的驅動和設備樹呢?

實際上,對于有經驗的工程師來說,通常只看代碼就能很快判斷出是否缺少驅動或者設備樹配置,畢竟他們對代碼實現等已經很熟悉了。但對于新手來說,通常要先了解對應平臺下某一模塊代碼架構和實現等,才能做出判斷,下面是我入門時所采用的方式,供新手作為參考:

  • 從平臺方MTK,高通或者展銳等提供的渠道中獲取對應的文檔,如下圖所示,是我獲取的MTK文檔,這種方式獲取的文檔是比較權威的。

圖片

  • 通過網絡搜索相關系列教程,網上的內容比較繁多,而且系列教程的比例是比較少的。對于需要入門的開發者來說,盡量查找系列類教程。
  • 向別人請教,有些公司會有自己的代碼架構,這種只能通過公司內部途徑,或者自己看代碼,文檔來做進一步了解。

2.驅動和設備樹編譯

實際上,編譯是個龐大的系統,但在本文不打算說明編譯相關內容,僅僅用來說明我們的驅動和設備樹是否被編譯到。

對于驅動來說,當進行編譯后,會在特定路徑下生成對應的中間文件,我們可以通過查看是否有中間文件,或者中間文件的時間戳是否更新,從而確認驅動是否已經編譯。

下圖中顯示了中間文件的路徑為:out/target/product/(項目對應路徑)/obj/KERNEL_OBJ/drivers (圖中省略了個人或者項目信息)。

圖片

對于設備樹來說,當進行編譯后,同樣也可以在out路徑中找到,如下圖是采用在設備樹編譯的中間文件中查找關鍵字的方式,采用的命令是grep “cd-gpios” .–rn,此處查找的cd-gpios是SD卡相關功能中設備樹中的配置項,從下圖中可以看出當前我的SD卡對應的設備樹確實已經編譯,且采用的cd檢測引腳是GPIO4。假如在設備樹中修改了cd檢測引腳,那么可以在編譯后重新采用下圖中的方式來確認修改是否生效。

當發現驅動或者設備樹沒有編譯,那就需要查看配置是否正確,此處要注意有些公司會對代碼進行局部重構,重構后的代碼對應的中間文件可能會因為編譯腳本的原因而存在于其他路徑,本文中僅僅說明上圖中的兩個標準路徑,供大家學習了解。

3.鏡像中是否包含修改

鏡像本質上是打包壓縮,因其進行了壓縮,所以無法使用grep等類似方式來查詢鏡像中是否進行了修改,要想確認是否包含了修改,可以采用反編譯的方式,且大多數平臺代碼路徑編譯out/host/下是有對應的反編譯工具,比如反編譯dtbo.img(設備樹相關鏡像),就需要用到out/host下的反編譯工具mkdtimg 和dtc,但是該方法不常見,通常我就是采用時間戳來進行簡單判斷,刷機時采用最近的鏡像即可。

4.判斷硬件環境中是否有對應驅動和設備樹信息

我們得感謝內核的sys架構,我們的驅動和設備樹均會在/sys/bus下的對應路徑創建對應的節點信息,只有在該路徑下對應的總線下能找到驅動和設備樹信息(比如在/sys/bus/platform/device和/sys/bus/platform/driver),我們才可以開始調試驅動,否則你所做的驅動調試工作將是徒勞的。

如下圖所示是在SPI總線(/sys/bus/spi)的drivers路徑下查找到對應的驅動信息和在devices下找到的設備樹信息。

圖片

在進行查找的時候,首先我們需要知道驅動和設備樹對應的總線信息。上圖中對應的驅動代碼在加載的時候采用spi_register_driver函數來把對應驅動注冊到spi總線,所以是在spi下總線查找對應的信息的。倘若您的代碼中采用的是platform_driver_register函數,那么就應該在/sys/bus/platform總線下查找。若采用i2c_register_driver注冊驅動,那么就應該在/sys/bus/i2c總線下查找。總之,您代碼中使用的驅動注冊函數就決定了您的驅動對應的總線信息,在對應總線下查找信息即可。

假如您的設備樹是在spi節點下,那就需要在/sys/bus/spi/device下查找對應的設備樹信息。假如您的設備是在I2C節點下,那就需要在/sys/bus/i2c/device下查找對應的設備樹信息。總之,設備樹中添加節點的位置就決定了您設備樹對應的總線信息,需要在對應的總線下查找對應的設備信息。

5.總結

本文沒有談及設計驅動和設備樹的任何編寫注意事項或者技巧,也并非代碼調試技巧,而是說明了在代碼調試過程中的幾個關鍵注意點,只有在這些關鍵點全部沒問題的情況下,才能開始代碼調試。

作者介紹

趙青窕,51CTO社區編輯,從事多年驅動開發。研究興趣包含安全OS和網絡安全領域,發表過網絡相關專利。

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2021-03-02 06:02:03

Kafka高并發系統

2012-05-16 13:43:20

操作系統故障檢修系統管理

2021-06-04 10:11:07

鴻蒙安卓操作系統

2013-10-18 17:09:18

Windows 8.1微軟

2021-10-31 20:07:49

Windows驅動開發

2010-12-02 16:08:09

AMD山貓服務器

2012-01-16 10:41:25

安全互聯網IT部門

2023-11-27 07:37:50

面試協程池

2016-04-20 09:49:25

網絡測試網絡優化

2023-12-12 08:02:10

2020-05-27 15:14:55

iOSiPhone更新

2022-11-09 07:20:43

調用日志502報錯nginx

2012-01-13 13:05:41

Scale Out網絡

2024-01-05 09:23:09

Linux系統內存內存指標

2018-11-08 09:09:37

Linux系統恢復

2023-06-05 08:36:04

SQL函數RANK()

2022-11-08 08:45:30

Prettier代碼格式化工具

2022-09-19 08:35:28

Kafka節點故障

2009-03-26 18:09:06

2023-05-09 09:04:29

代碼設計語言
點贊
收藏

51CTO技術棧公眾號

欧美猛男性生活免费| 成人福利视频在线看| 日韩第一页在线| 亚洲熟妇av一区二区三区| 国产精品99999| 国产一区在线视频| 青草成人免费视频| www欧美com| 九九亚洲视频| 日韩欧美中文一区| 日韩av一二三四| 色爱综合区网| 国产精品私房写真福利视频| 成人情视频高清免费观看电影| 精品国产午夜福利| 欧美视频四区| 中文字幕日韩精品在线| 免费看毛片的网站| 国产精品一区二区三区av| 五月天婷婷综合| 一区二区三区四区欧美| 青梅竹马是消防员在线| 懂色av一区二区三区免费看| 国产精品永久在线| 久久精品视频6| 亚洲精品成人无限看| 亚洲欧美一区二区三区久久| 亚洲少妇一区二区三区| 亚洲爽爆av| 色哟哟在线观看一区二区三区| 免费看黄色a级片| 香港伦理在线| 日本一区二区免费在线| 精品国产_亚洲人成在线| av免费在线观看不卡| 久久精品久久综合| 国产精品扒开腿做爽爽爽男男| 国产精品第72页| 欧美日韩视频一区二区三区| 日日狠狠久久偷偷四色综合免费| 亚洲AV无码国产成人久久| 极品国产人妖chinesets亚洲人妖| 91精品中文字幕一区二区三区| 国产xxxxx视频| 在线视频超级| 欧美午夜精品久久久久久久| 欧美日韩在线一| 9999在线视频| 亚洲成av人片一区二区梦乃| 成人av在线不卡| 色呦呦在线观看视频| 亚洲乱码中文字幕| 男女裸体影院高潮| 一色桃子av在线| 亚洲黄色小说网站| 欧美人与动牲交xxxxbbbb| 超碰超碰在线| 一区二区理论电影在线观看| 男人日女人的bb| 亚洲小说区图片| 亚洲最新在线观看| 国产中文字幕视频在线观看| 密臀av在线播放| 色伊人久久综合中文字幕| 免费高清在线观看免费| 日韩性xxx| 欧美视频一区在线| 亚洲午夜精品一区| 精品中文在线| 亚洲国产小视频在线观看| 亚洲图片综合网| 中日韩免视频上线全都免费| 亚洲小视频在线| 亚洲熟女少妇一区二区| 亚洲国产精品久久久天堂| 色综合久综合久久综合久鬼88 | 日本视频网站在线观看| 久久久久久一区二区| 国产精品久久久久久久久影视| 日本欧美www| 国产麻豆一精品一av一免费 | 亚洲欧美偷拍卡通变态| 日韩专区第三页| 成人免费观看在线观看| 日本福利一区二区| 亚洲日本黄色片| 成人资源在线| 在线播放日韩av| 日韩va亚洲va欧美va清高| 国产精品红桃| 国产精品国产三级国产专播精品人| 亚洲天堂中文在线| 成人h动漫精品| 日韩wuma| 久久亚洲资源| 欧美伊人精品成人久久综合97| 69久久精品无码一区二区| 婷婷综合福利| 久久手机精品视频| 性无码专区无码| 国内精品视频666| 免费电影一区| √天堂8在线网| 在线免费观看日本欧美| 国产麻豆剧传媒精品国产| 国产99久久久国产精品成人免费 | 久久国产精品99久久久久久丝袜| 日韩免费网站| 日韩欧美一区视频| 亚洲成人福利视频| 成人在线免费视频观看| 97热精品视频官网| 国产不卡av在线播放| 国产欧美日韩精品a在线观看| 日本aa在线观看| 欧美日韩破处视频| 亚洲人免费视频| 日韩成人一区二区三区| 国产伦精品一区二区三区在线观看| 国产伦精品一区二区三区照片| 精品黄色免费中文电影在线播放| 日韩欧美在线字幕| 日韩少妇一区二区| 欧美成人午夜| 成人a在线观看| www在线免费观看| 色综合天天在线| 漂亮人妻被黑人久久精品| 中文字幕一区二区三区乱码图片 | 欧美日韩国产123| 中文字幕av久久爽| 久久久三级国产网站| 国产 日韩 欧美在线| 亚洲啊v在线免费视频| 精品国产自在精品国产浪潮| 亚洲精品国产精品乱码视色| 久久亚洲欧美国产精品乐播| 日本一道本久久| 韩国女主播一区二区三区| 精品少妇一区二区30p| 国产精品无码白浆高潮| 国产精品久久久久婷婷| 九九热在线免费| 全球成人免费直播| 国产欧美最新羞羞视频在线观看| 国产免费av在线| 欧美色男人天堂| 91ts人妖另类精品系列| 男人的j进女人的j一区| 一区二区不卡在线视频 午夜欧美不卡' | 欧美激情视频一区二区| 国产福利小视频| 亚洲女人****多毛耸耸8| 手机精品视频在线| 欧美.www| 国产精品自拍首页| 亚洲伊人av| 国产亚洲欧美日韩美女| 中文天堂在线视频| 中文字幕日本乱码精品影院| 在线观看免费av网址| 欧美国内亚洲| 国产精品日韩二区| 樱花草涩涩www在线播放| 精品视频一区在线视频| 日本三级一区二区三区| 国产精品乱人伦| 色欲无码人妻久久精品| 亚洲激情网站| 蜜桃网站成人| 香蕉成人在线| 久久久久亚洲精品| 欧美日本韩国一区二区| 欧美三级三级三级| 欧美精品久久久久性色| 99久久综合国产精品| 热久久精品免费视频| 久久人体视频| 国产精品一 二 三| gogo亚洲高清大胆美女人体| 亚洲成国产人片在线观看| 欧美一乱一性一交一视频| 蜜桃在线一区二区| 91精品办公室少妇高潮对白| 日韩av毛片在线观看| 国产成人精品综合在线观看| 欧洲黄色一级视频| 91欧美在线| 国产欧美日韩亚洲| av在线不卡精品| 九九久久国产精品| 久久经典视频| 日韩一区二区免费视频| www欧美在线| 亚洲三级在线看| 免费黄色在线视频| 国产一区二区精品久久| www国产黄色| 欧美xxx在线观看| 午夜精品一区二区在线观看| 成人h动漫免费观看网站| 国产精品麻豆va在线播放| 激情图片在线观看高清国产| 亚洲网在线观看| 六月婷婷综合网| 欧美日韩激情一区二区三区| 成人午夜视频精品一区| 亚洲欧美日韩在线不卡| 亚洲黄色免费视频| 成人av电影在线| 欧美又黄又嫩大片a级| 久久天天综合| 国产素人在线观看| 亚洲综合自拍| 深夜福利成人| 西野翔中文久久精品国产| 97在线资源站| av在线亚洲一区| 国产精品夫妻激情| 亚洲精品国产精品国产| 久久久久久久久久婷婷| 黄色av免费在线| 最近2019中文免费高清视频观看www99| 少妇av在线播放| 日韩亚洲欧美成人一区| 97人妻人人澡人人爽人人精品| 欧美日韩国产限制| 亚洲一区 视频| 一区二区在线观看免费| 青青青视频在线播放| 久久久久久久久久看片| 日韩精品视频一区二区| 国产99久久久久久免费看农村| 亚洲妇熟xx妇色黄蜜桃| 精品一区二区三区av| 亚洲最大成人在线观看| 日韩在线卡一卡二| 久久久久久久久久久久久久国产| 亚洲黄色在线| av黄色在线网站| 国产亚洲亚洲| 免费欧美一级视频| 亚洲视频播放| 人妻精品无码一区二区三区 | 久久嫩草精品久久久精品一| 99re久久精品国产| 99国产精品视频免费观看| 色婷婷精品久久二区二区密| 91在线一区二区| 久久丫精品国产亚洲av不卡| 91在线丨porny丨国产| 波多野结衣av在线免费观看| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 午夜伦理福利在线| 欧美在线影院在线视频| 成人午夜视屏| 国产99久久精品一区二区| 国产精品亚洲一区二区三区在线观看| 国产成人午夜视频网址| 国产成人久久精品麻豆二区| 国产又爽又黄的激情精品视频 | 91福利区在线观看| 992tv成人免费视频| 视频二区不卡| 国产精品日韩av| 免费成人高清在线视频| 91青草视频久久| 99这里只有精品视频| 狠狠色伊人亚洲综合网站色| 欧美美女在线| 一区二区三区四区在线视频| 欧美在线日韩| 日韩欧美视频网站| 欧美aaaaa成人免费观看视频| 亚洲激情在线看| 成人综合激情网| 波多野结衣一本| 亚洲日韩欧美一区二区在线| 久久国产精品波多野结衣av| 欧美性xxxx| 国产老妇伦国产熟女老妇视频| 精品久久久久久久久久久久久久久| 午夜性色福利影院| 日韩在线高清视频| 国产免费拔擦拔擦8x高清在线人| 国产成人在线一区| 日韩成人久久| 日本成人黄色免费看| 影音先锋日韩精品| 日韩欧美精品在线观看视频| 久久99最新地址| 国产老熟女伦老熟妇露脸| 日本一区二区成人在线| 久久免费视频播放| 欧美视频在线播放| 日韩一级中文字幕| xxx一区二区| 手机av在线| 91成人免费看| 欧美视频网址| ww国产内射精品后入国产| 激情欧美日韩一区二区| 毛茸茸多毛bbb毛多视频| 亚洲免费观看高清在线观看| 黄色av一级片| 精品国产sm最大网站免费看| 91在线导航| 日本aⅴ大伊香蕉精品视频| 日本亚州欧洲精品不卡| 先锋影音网一区| 国产精品普通话对白| 性一交一黄一片| 国产精品久久久久久户外露出| 日韩欧美三级视频| 精品国产91乱码一区二区三区| 91在线看片| 国产精品成久久久久三级| 久久夜色精品国产噜噜av小说| 在线观看成人免费| 免费成人在线影院| 国产全是老熟女太爽了| 婷婷国产v国产偷v亚洲高清| 亚洲欧美另类综合| 久久亚洲影音av资源网| 啪啪av大全导航福利综合导航| 欧美凹凸一区二区三区视频| 亚洲精品精选| 久草视频福利在线| 亚洲自拍另类综合| av资源免费看| 欧美乱大交xxxxx| 国产日本亚洲| 看一级黄色录像| 国产一区在线看| 欧美日韩精品在线观看视频 | 国产精品久久久久秋霞鲁丝 | 久久综合久久网| 国产精品一区二区在线观看网站| 美国黄色片视频| 欧美精品tushy高清| 免费黄网在线观看| 国产一区二区香蕉| 重囗味另类老妇506070| 加勒比av中文字幕| 亚洲日本成人在线观看| 国产精品久久欧美久久一区| 久久精品一区中文字幕| 国产精品久久久久久久久久久久久久久| 亚洲乱码一区二区三区| 久久国产日韩欧美精品| 国产真实乱在线更新| 欧美一区二区视频在线观看2020| 国产不卡在线| 痴汉一区二区三区| 国产日韩亚洲| 成人免费毛片糖心| 欧美另类一区二区三区| av网站免费在线观看| 国产精品久久久久久久久久久久午夜片| 激情欧美日韩| 99久久人妻无码中文字幕系列| 欧美性猛交视频| www.在线视频.com| 91久久国产精品91久久性色| 欧美在线精品一区| 黄色性生活一级片| 欧美天堂亚洲电影院在线播放| 五月婷婷在线观看| 97久久夜色精品国产九色 | 一区二区三区日韩欧美| 男人天堂一区二区| 日韩av电影手机在线观看| 久久国产成人精品| 中文字幕乱码在线人视频| 精品久久久久久电影| 97视频在线观看网站| 亚洲最大的成人网| 妖精视频成人观看www| 国产精品1区2区3区4区| 日韩欧美一区二区三区在线| 午夜影院在线观看国产主播| 性欧美.com| 成人午夜免费av| 销魂美女一区二区| 欧美成人午夜激情视频| 亚洲福利天堂| 精品人妻一区二区三区免费| 亚洲va韩国va欧美va| av电影在线网| 国产精品免费观看高清| 蜜桃精品视频在线| av大全在线观看| 欧美成人一区在线| 精品国产一区二区三区噜噜噜 | 中文字幕国产一区| 蜜桃久久一区二区三区| 国产日韩在线免费| 欧美亚洲一区二区三区| 免费麻豆国产一区二区三区四区| 亚洲一区999|