裝置樹初識

2021-10-01 10:53:21 字數 1498 閱讀 8528

device tree 是一種描述硬體的資料結構,由一系列被命名的結點(node)和屬性(property)組成,結點本

身還可包含子結點。屬性,就是成對出現的 name 和 value。為了可以更形象描述裝置樹,下面我們先來看乙個設

備樹檔案編碼格式。

/dts-v1/;

/ ;child-node2 ;

};node2 ;

};/ dts-v1 /用來標識本檔案為版本 1 格式的 dts(沒有該標籤的 dts 檔案將被 dtc(dts 編譯器) 視為過時的

版本 0)。支援 c 風格(/ * ... * /)和 c ++風格(// ...)注釋。

/ ; 定義了裝置樹的根節點

裝置樹檔案是以單個根節點「/」開始的,其下可以編寫多個子節點,如上面示例**中的 node1,node2 節點。

示例中 node1 是節點, 而 a-string-property, a-string-list-property, a-byte-data-property 是它的屬性(property), 」=」

號後面的是屬性值(value)。 child-node1 又是 node1 的子節點,它又有自己的屬性(property): first-child-property,

second-child-property, a-string-property , 同理, 屬性(property) 」=」 號後面的是屬性值(value)。

屬性(property)值標識了裝置的特性,值(value)型別也有多種型別:

1. 可以是空,也就是沒有值的定義。如上面的**中節點 child-node1 的屬性 first-child-property 就是乙個

空屬性,只定義了,並且有沒值。

2. 可以是乙個 u32 的數值。如上面**中節點 child-node1 的屬性 second-child-property,其值值設定為

<1>,則表示 second-child-property 屬性值是無符號整數 1。

3. 可以是乙個陣列上面**中 node2 節點 a-cell-property 屬性的值設定為<1 2 3 4>,則表示它的它的屬性

值是乙個 4 個元素的數值 u32 陣列。

4. 可以是乙個字串。如上面**中 node1 節點 a-string-property 屬性值設定為"a string",則表示它的屬

性值是字串"a string"。

5. 可以是乙個字串陣列。如上面**中 node1 節點 a-string-list-property 屬性值設定為"first string",

"second string"; 則表示它的屬性值是"first string", "second string" 這兩個字串陣列。

6. 可以是乙個二進位制(以 16 進製形式數字表示)陣列。如上面**中的 node1 節點 a-byte-data-property

屬性值設定為 [01 23 34 56],則表示它的屬性值是乙個 4 個元素的 u8 陣列,值是 0x01,0x23,0x34,0x56。

初識網路裝置

1.網路的概念 1.1 有許多不同的網路裝置共同構成的ip網路 3.hub 集線器 3.1 工作在物理層的乙個裝置 3.2 作用 延長網路通訊距離,主要還是作為各個主機站點的匯聚點,將連線在集線器各個介面上的主機聯絡起來使之可以互相通訊 3.3 缺點 通一時間只允許有乙個節點收發資訊 其它節點處於偵...

字元裝置驅動初識

在linux下的應用層,一切皆檔案,每個裝置都對應著檔案。然而,在核心中,為了標識裝置的,會用特意的號碼 叫字符號來表示。今天將會學到字元裝置的驅動,來寫乙個程式,通過在應用層寫程式來操作核心裡的裝置檔案,在應用層,寫了乙個程式,來開啟乙個檔案 1 include 2 include 3 4int ...

linux裝置樹(裝置驅動)

一 裝置樹的簡單概念 裝置樹 由一系列的節點,屬性組成,節點本身包含子節點 屬性 成對出現的名稱和值 裝置樹可描述的資訊 原先大多數被編碼在核心中 它是電路板上cpu,匯流排,裝置組成的樹,bootloader會將這棵樹傳遞給核心,並根據它展開linux核心中的platform device等裝置。...