新聞中心
作為當今嵌入式系統(tǒng)開發(fā)的主流,linux操作系統(tǒng)在很多領域得到了廣泛應用。Linux設備驅(qū)動程序,既可以適應PC主機上的某些通用型外設,也可以控制特定的硬件,讓設備的正常工作作為擴展的接口,向應用程序提供標準的設備操作命令。在Linux設備驅(qū)動程序開發(fā)中,介紹了以下兩個基本問題:

1.首先,我們要了解如何編寫設備驅(qū)動程序代碼,以及確定程序能夠充分利用開發(fā)設備的功能。首先,我們需要深入了解Linux內(nèi)核的結(jié)構(gòu),在了解了內(nèi)核的結(jié)構(gòu)之后,我們就可以開始動手寫代碼,以實現(xiàn)設備特定功能。必要時,可以通過調(diào)用系統(tǒng)提供的硬件接口及內(nèi)核函數(shù),來實現(xiàn)所需功能;
2.其次,我們還需要編寫設備驅(qū)動程序的許可文件,以便將開發(fā)的代碼正確安裝在Linux系統(tǒng)中,并且能夠被正確地加載到內(nèi)核中??梢栽趦?nèi)核目錄下新建一個設備驅(qū)動模塊子模塊,然后實現(xiàn)Linux模塊加載機制,控制設備的驅(qū)動注冊,加載,卸載等系統(tǒng)調(diào)用接口,以完成驅(qū)動的加載;
// 加載驅(qū)動模塊
int MY_init_module(void)
{
…
register_chrdev(my_major, my_name, &fops);
…
return 0;
}
// 卸載驅(qū)動模塊
void my_cleanup_module(void)
{
…
unregister_chrdev(my_major, my_name);
…
}
以上就是Linux設備驅(qū)動開發(fā)中的基本步驟,即:先深入了解Linux內(nèi)核,掌握相關技術;然后寫出實現(xiàn)功能的代碼,并對其進行優(yōu)化;最后,編寫設備驅(qū)動程序的許可文件,正確安裝在Linux系統(tǒng)中,將驅(qū)動注冊到內(nèi)核中。只有經(jīng)過上述所有步驟,Linux設備驅(qū)動才能正確地控制設備,從而實現(xiàn)讓特定設備在Linux系統(tǒng)中可用。
成都網(wǎng)站建設選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設計,高端小程序APP定制開發(fā),成都網(wǎng)絡營銷推廣等一站式服務。
名稱欄目:Linux設備驅(qū)動開發(fā):深入剖析(Linux設備驅(qū)動開發(fā)詳解)
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/djgppge.html


咨詢
建站咨詢
