各位大神:
kernel driver arm 設備樹木中
設備的地址特性根據一下幾個屬性來控制:
reg
#address-cells
#size-cells
哪位能告訴我 ,Device Tree 中 address-cell 和 size-cells 是什么含義呢,檔案看了幾篇 沒看懂啊,才疏學淺,小弟困惑 好久了,55555555555
uj5u.com熱心網友回復:
我也是啊,樓主,你現在看懂了么??看懂了給我也分享分享唄!!我看了好幾遍了,楞是搞不懂個是個什么情況uj5u.com熱心網友回復:
#address-cells表示幾個cell表示地址,#size-cells表示幾個cell表示長度如:
m25p80@0 {
#address-cells=<1>
#size-cells=<1>;
partition@0 {
label = "u-boot";
reg=<0x0 0x3000>
read-only;
}
中, partition中的reg 0x0表示1個cell即偏移地址,0x3000表示1個cell即長度
}
uj5u.com熱心網友回復:
嗯,,學習了,,,uj5u.com熱心網友回復:
2樓描述在我認為是不正確或者是片面的。address-cells是表示,這個節點下,掛載的子節點的設備絕對起始地址的數量的個數。
size-cells是表示,這個節點下,掛載的子節點的設備占用的長度的數量的個數。
繼續2樓的例子:
m25p80@0 {
#address-cells=<1>
#size-cells=<1>;
partition@0 {
label = "u-boot";
reg=<0x0 0x3000>
read-only;
}
我們可以看到m25p80這個父節點中的address-cells中填寫了1,也就是,掛載在這個父節點下的子節點的起始地址只有1個;
size-cells中也填寫了1,也就是掛載在這個父節點下的子節點的占用長度也只需要一個描述。
最后,我們看到就是
reg = <0 0x3000>;
0就是子節點絕對起始地址,個數1.
0x3000就是子節點占用長度,個數1.
與上面對應.
uj5u.com熱心網友回復:
表示后面子節點reg 是幾段的,也就是有幾項地址來描述轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/72548.html
標籤:驅動開發/核心開發
