Linux設備樹語法
- 基本概念
1.1 什么是dts?
ARM Device Tree起源于OpenFirmware (OF),在過去的Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥著大量的垃圾代碼,相當多數的代碼只是在描述板級細節,而這些板級細節對于內核來講,不過是垃圾,如板上的platform設備、resource、i2c_board_info、spi_board_info以及各種硬體的platform_data,為了改變這種局面,Linux社區的大牛們參考了PowerPC等體系架構中使用的Flattened Device Tree(FDT),也采用了Device Tree結構,許多硬體的細節可以直接透過它傳遞給Linux,而不再需要在kernel中進行大量的冗余編碼,導致ARM的merge作業量較大,其次ARM很多的代碼都是垃圾,代碼里面有若干愚蠢的table,而多個人在維護這個table,從而導致了沖突,最后linux發出Gaah.Guys, this whole ARM thing is a f*cking pain in the ass.之后經過一些討論,對ARM平臺的相關code做出如下相關規范調整,這個也正是引入DTS的原因,
本質上,Device Tree改變了原來用code方式將HW配置資訊嵌入到內核代碼的方法,改用bootloader傳遞一個DB的形式,對于嵌入式系統,在系統啟動階段,bootloader會加載內核并將控制權轉交給內核,此外,還需要把上述的三個引數資訊傳遞給kernel,以便kernel可以有較大的靈活性,在linux kernel中,Device Tree的設計目標就是如此,
在devie
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/161365.html
標籤:其他
上一篇:網路資訊安全(二)——ARP攻擊實驗演示(如何優雅切斷別人網路)
下一篇:規劃題解
