當前位置:首頁 > 公眾號精選 > 嵌入式云IOT技術(shù)圈
[導(dǎo)讀]關(guān)注、星標嵌入式云IOT技術(shù)圈,精彩及時送達來源|??Linux與SoC整理出了6種驅(qū)動開發(fā)時與設(shè)備注冊、設(shè)備樹相關(guān)的調(diào)試方法,彼此間沒有優(yōu)先級之分,每種方法不一定是最優(yōu)解,但可以作為一種debug查找問題的手段,快速定位問題原因。例如在芯片驗證時,不同時鐘頻率下系統(tǒng)啟動情況摸底...

關(guān)注、星標嵌入式云IOT技術(shù)圈,精彩及時送達

來源 |??Linux與SoC

整理出了6種驅(qū)動開發(fā)時與設(shè)備注冊、設(shè)備樹相關(guān)的調(diào)試方法,彼此間沒有優(yōu)先級之分,每種方法不一定是最優(yōu)解,但可以作為一種debug查找問題的手段,快速定位問題原因。例如在芯片驗證時,不同時鐘頻率下系統(tǒng)啟動情況摸底時,U-Boot fdt命令可以方便快捷的幫助我們完成這個實驗。

#1. dtdiff工具

這個文件需要在宿主機安裝,在對比二進制的dtb文件時比較方便。文本格式的dts文件對比并不需要這個工具。

對比以下兩個dtb文件的結(jié)果如下:


#2. kernel device-tree base

系統(tǒng)啟動后進入到/sys/firmware/devicetree/base目錄可以看到當前已注冊設(shè)備的設(shè)備樹信息,通過相關(guān)命令可以查看當前設(shè)備的結(jié)點信息、狀態(tài)等。

上面各個子目錄里顯示的信息和設(shè)備樹dts文件中定義的條目數(shù)是一樣的。


#3. U-Boot fdt command

驅(qū)動代碼在debug期間,若希望更改外設(shè)模塊的設(shè)備樹屬性時,在不改變存儲設(shè)備中dtb文件的前提下,進入到U-Boot的命令行界面,通過U-Boot的fdt命令來實現(xiàn)。例如修改外設(shè)時鐘源、修改外設(shè)時鐘名、status屬性等。為了使U-Boot支持fdt命令需要打開CONFIG_OF_LIBFDT。

U-Boot提供的fdt命令是針對內(nèi)存中的FDT而言的,因此,需要將存儲設(shè)備中的dtb文件加載到內(nèi)存RAM中。然后再告知FDT設(shè)備樹在內(nèi)存中的地址。

將dtb文件從mmc中加載到DDR的0x61000000地址處,并告知U-Boot FDT文件在內(nèi)存中所在的位置為0x61000000。

通過fdt print查看測試驅(qū)動driver-test的設(shè)備樹信息,當查看某一個設(shè)備樹結(jié)點的信息時,需要使用絕對路徑進行設(shè)備樹結(jié)點的索引。

driver-test的設(shè)備樹定義在源文件中dts如下圖,dtb內(nèi)的信息是完全展開的,實際上和dts中信息完全一致。clocks = <0x00000005>是dtc編譯時對結(jié)點引用label重新插入的phandle值。


##3. 修改設(shè)備時鐘

設(shè)備樹文件中driver_test的時鐘源為oscclk2,時鐘名為apb_clk?,F(xiàn)在將driver_test時鐘源設(shè)置為oscclk1,時鐘名改為ahb_clk。oscclk1在dtc編譯后的label編號時0x00000012。

修改后如下圖:

修改完之后,手動加載kernel鏡像來啟動系統(tǒng)。系統(tǒng)啟動后查看設(shè)備樹信息是否修改成功??梢钥匆奵lock-names已經(jīng)由原來的apb_clk更改為ahb_clk。


##3. 修改設(shè)備status狀態(tài)

設(shè)備樹里status可以決定設(shè)備使能狀態(tài),status狀態(tài)支持以下幾種格式,若設(shè)置了status為disable,那么設(shè)備是不可用的。若不設(shè)置status,默認設(shè)備可用。

在platform_device創(chuàng)建時會檢查設(shè)備的可用性,若設(shè)備不可用,那么是不會創(chuàng)建platform_device的。of_device_is_available用于檢查status屬性。

driver-test的設(shè)備樹里定義了status = “disable”,查看設(shè)備結(jié)點的status信息也顯示為disable。

加載driver-test驅(qū)動以后設(shè)備未創(chuàng)建成功,當然也就無法執(zhí)行驅(qū)動的probe函數(shù)。這是除compatible不匹配之外的另一個無法執(zhí)行驅(qū)動probe函數(shù)的原因。

現(xiàn)在重啟系統(tǒng)進入到U-Boot的命令行模式,通過fdt修改status的值為okay。

啟動系統(tǒng),再次確認設(shè)備樹結(jié)點信息是否修改成功以及驅(qū)動是否執(zhí)行了probe函數(shù)。通過系統(tǒng)啟動的log信息可以看到,當修改完status狀態(tài)值之后,driver_test的probe函數(shù)得到了執(zhí)行。

driver_test設(shè)備也正常的注冊進platform設(shè)備中。


##3. fdt 其他功能

fdt print可以打印整個的dtb FDT信息

fdt header查看dtb的頭部信息,通過size大小也可以間接的判斷當前加載的設(shè)備樹文件是否為所需的設(shè)備樹。


#4. dtc工具

dtc可以使用宿主機提供的亦可以使用kernel提供的。這個工具是將已編譯的dtb文件反匯編。


#5. 查看kernel fdt文件

這個fdt是未解壓縮的dtb文件,里面的內(nèi)容和dtb完全一樣。在kernel系統(tǒng)中執(zhí)行hexdump查看:

通過UE查看原始的dtb文件,與fdt文件內(nèi)容完全一致。


#6. of_property_xxx

在代碼中可以調(diào)用of.h中提供的API來檢查或這獲取device node的信息。

例如下面的調(diào)用方式


------END------

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉