Linux设备树 01 ———— 内核笔记

已經有一些​相關經驗,再一次的學習鞏固基礎,主要記錄一些難懂或容易忘的知識點

活动地址:CSDN21天学习挑战赛

學習計畫

1,學習目標

        1.dts原理

2,學習內容

        1.dts 的由來

        2.圖解dts的使用

3,學習時間

週一至週五晚上八至十點

4,學習產出

一週三篇

學習筆記

DTS 的由來

     1. arm linux 欠缺 platform 之間的協調,造成程式有非常多的重覆

     2.大量的 board spec 程式碼不應在kernel 中,這些垃圾程式影響 linux kernel 長期目標

     3. 各sub architecture 維護者提交品質不良

解決問題方法

將 arm soc board specific的程式碼移除,由 device tree 機制負責硬體資源訊息,以

bootloader傳遞一個DB的形式,傳入的參數應包含如下資料。

  1. 識別platform的訊息
  2. runtime的配置參數
  3. 設備的拓撲結構以及特性

DTS並非包含所有設備描述,那些可以動態探測到的設備是不需要描述的,例如USB device。不過對於SOC上的usb host controller,它是無法動態識別的,需要在device tree中描述。同樣的道理,在computer system中,PCI device可以被動態探測到,不需要在device tree中描述,但是PCI bridge如果不能被探測,那麼就需要描述之。

DTS 基礎格式

	[label:] node-name[@unit-address] {
		[properties definitions]
		[child nodes]
	}

尋址屬性

  • #address-cells
  • #size-cells

原作者提供一個圖如下,但說明卻是錯的 

參考資料來源為 Device Tree Usage - eLinux.org

以下是正確的說明

4.節點狀態

一般使用okay 和 disabled 但還有另外兩種狀態如下:

描述
“okay”设备可操作(已开启)
“diable”设备不可操作(已关闭)
“fail”设备不可操作,设备检测到了一些错误
“fail-sss”同 “fail”
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值