韋東山老師Linux設(shè)備樹學(xué)習(xí)筆記(一)
時(shí)間:2021-09-03 10:11:52
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]點(diǎn)擊上方「嵌入式云IOT技術(shù)圈」,選擇「置頂公眾號(hào)」第一時(shí)間查看嵌入式筆記!最近一段時(shí)間可以說是又重操舊業(yè)了,回到過去的底層驅(qū)動(dòng)開發(fā),當(dāng)然過段時(shí)間還是會(huì)回到Linux應(yīng)用開發(fā)的。所以現(xiàn)狀基本上天天都在Linux內(nèi)核以及Linux驅(qū)動(dòng)打交道;當(dāng)前很多驅(qū)動(dòng)都是現(xiàn)成的,設(shè)備樹的適配工作...
點(diǎn)擊上方「嵌入式云IOT技術(shù)圈」,選擇「置頂公眾號(hào)」第一時(shí)間查看嵌入式筆記!
最近一段時(shí)間可以說是又重操舊業(yè)了,回到過去的底層驅(qū)動(dòng)開發(fā),當(dāng)然過段時(shí)間還是會(huì)回到Linux應(yīng)用開發(fā)的。所以現(xiàn)狀基本上天天都在Linux內(nèi)核以及Linux驅(qū)動(dòng)打交道;當(dāng)前很多驅(qū)動(dòng)都是現(xiàn)成的,設(shè)備樹的適配工作成為驅(qū)動(dòng)工程師的必備技能之一,所以我們有必要來詳細(xì)學(xué)習(xí)一下,以下是我學(xué)習(xí)韋東山老師的設(shè)備樹教程自己做的一些筆記:
1、為什么叫設(shè)備樹?
1.1、如何描述這棵設(shè)備樹?
我們需要編寫設(shè)備樹文件 (dts: device tree source) ,它需要編譯為 dtb(device tree blob) 文件,內(nèi)核使用的是 dtb 文件。1.2、設(shè)備樹格式
1.2.1、 dts 文件的格式
/dts-v1/;?//?表示版本
[memory?reservations]?//?格式為:?/memreserve/??;
/?{
????[property?definitions]
????[child?nodes]
};
1.2.2、 node 的格式
[label:]?node-name[@unit-address]?{
?[properties?definitions]
?[child?nodes]
};
label 是標(biāo)號(hào),可以省略。label 的作用是為了方便地引用 node,比如:/dts-v1/;
/?{
????uart0:?uart@fe001000?{
???????compatible="ns16550";
???????reg=<0xfe001000?0x100>;
????};
};
可以使用下面 2 種方法來修改 uart@fe001000 這個(gè) node://?在根節(jié)點(diǎn)之外使用 label 引用 node: