## 設備樹 設備樹屬性定義可以看這: [設備樹屬性定義](https://ithelp.ithome.com.tw/articles/10344251) **1.設備樹文件** 設備樹文件dts(Device Tree Source),裡面會包含如dtsi(Device Tree Source Include)檔案,會包含設備相關訊息,通常會有多個節點,在開發板中會以資料夾形式存在,查看設備樹之資料夾: /proc/device-tree 其中 文件夾為節點,而文件則為屬性,可通過cat指令進行查看。 dtsi 為共有的設備,dts為根據你的IC放置的設備。 ic 的 dtsi 文件當中,有些設備訊息可以根據需求自行添加於dts文件當中,透過& dtsi當中節點,以實現設備補充說明。 節點作用: 1. aliases: 作用就是在 linux /dev 顯示設備別名 可通過 & device,對設備進行引用。 2. chosen: 作用就是將 uboot 當中的 bootargs 內核命令行參數 傳遞至 linux,由uboot 自行於設備樹文件中進行添加,不需要自己設定。 節點中的常見屬性: 1. compatible : (driver會使用這個屬性進行Decive的匹配)  前面'fsl' 為廠商名字,而後面'imx6ul-pxp-v412'為晶片,也就是驅動模塊的名字。 可通過內核內部之值,檢查是否兼容當前設備。 2. model : 描述模塊訊息,不重要。 3. state : 設備狀態相關訊息  4. reg : 描述記憶體所在位置和長度 。  而 從上一層節點之#address-cells 和 #size-cells屬性,用於描述下一層節點reg所需儲存訊息長度。  舉例:  5. ranges :用於映射地址長度, <物理地址 虛擬地址 內存長度>。 **2.內核查看dts文件** 內核可以通過 of_fine_node_XXX函數 來讀取設備樹相關訊息  可通過 of_find_node_by_name 函數,通過路徑和節點名字,來返回對應節點之結構體。  直接用路徑查找 查找屬性 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up