新聞中心
linux kernel和設(shè)備之間的橋梁叫做驅(qū)動程序,而Device Tree驅(qū)動(Device Tree,DTS)是Linux內(nèi)核中一種關(guān)于設(shè)備驅(qū)動的實現(xiàn)方法,主要用于嵌入式Linux系統(tǒng)中的硬件設(shè)備檢測和配置。

Device Tree(簡稱DTS)是一種樹型數(shù)據(jù)結(jié)構(gòu),用于描述系統(tǒng)硬件平臺中不同設(shè)備之間的精確連接關(guān)系,并協(xié)調(diào)硬件設(shè)備在軟件層面上的對應(yīng)配置,從而使用戶可以輕松管理系統(tǒng)設(shè)備驅(qū)動。它包含了每個硬件設(shè)備需要的多種信息元素,如設(shè)備型號,I/O端口,內(nèi)存和bus位置等,同時還能夠提供每個設(shè)備特殊功能需要的額外信息,如中斷服務(wù)程序等,以實現(xiàn)某種設(shè)備自主識別和配置,而不需要額外的控制語句。
通常情況下,每個芯片都會定義一個DTS,如ARM和MIPS芯片系列,它們都定義了一種獨有慣例的DTS文件,以精確描述每個芯片型號上的所有硬件設(shè)備之間的連接關(guān)系,如板級接口的pid表等。
硬件廠商為特定的硬件平臺提供DTS,其中,板級接口表(pid table)是最重要的數(shù)據(jù),它提供了一種有效的途徑來精準識別每個設(shè)備的接口,以及聲明各個接口之間的連接關(guān)系(如GPIO,I2C,SPI,ADC等),這樣,在程序之間連接接口時,便可以實現(xiàn)設(shè)備之間的精準連接。例如:
/* Pins connected to an I2C bus */
i2c_bus: i2c-bus@0 {
scl-gpios = ;
sda-gpios = ;
};
以上代碼描述了I2C總線連接的引腳,第一個參數(shù)為GPIO1的18引腳,第二個參數(shù)為GPIO1的19引腳。因此,在控制I2C總線設(shè)備時,只需要編寫對應(yīng)代碼程序即可,從而實現(xiàn)設(shè)備之間的精準連接。
總之,Device Tree(DTS)利用了描述系統(tǒng)硬件設(shè)備之間的精準連接和中斷處理規(guī)則,充分發(fā)揮芯片型號的功能特性,下層代碼對上層用戶提供高可定制化的接口,從而使系統(tǒng)配置可以快速可靠地完成。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計制作,網(wǎng)站維護,網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
當前文章:Linux驅(qū)動DTS:實現(xiàn)設(shè)備之間的精準連接(linux驅(qū)動dts)
URL鏈接:http://m.fisionsoft.com.cn/article/copjipg.html


咨詢
建站咨詢
