頻譜儀多種內(nèi)核通信機制的方案設(shè)計
對于Linux驅(qū)動的注冊有兩種方式:一種是直接編譯到內(nèi)核中,在系統(tǒng)啟動時即對設(shè)備進行注冊;另一種是以模塊的方式注冊設(shè)備,需要在系統(tǒng)啟動后用命令對設(shè)備進行注冊。后一種方式在系統(tǒng)開發(fā)期使用比較方便,不用在每次修改驅(qū)動程序后和內(nèi)核一起進行編譯,只需要將模塊編譯成后綴為,ko的模塊文件,就可下載到開發(fā)板中直接使用。在本課題中,使用的是模塊注冊的方式,在項目開發(fā)期間可大大縮短開發(fā)時間。
4 Linux設(shè)備驅(qū)動的實現(xiàn)
對于編寫一個Linux設(shè)備的驅(qū)動程序,大致的流程如下:
①查看原理圖、數(shù)據(jù)手冊,了解設(shè)備的操作方法。
?、趯崿F(xiàn)驅(qū)動程序的初始化,比如向內(nèi)核注冊這個驅(qū)動程序,這樣應(yīng)用程序傳入文件名時,內(nèi)核才能找到相應(yīng)的驅(qū)動程序。
?、墼O(shè)計所要實現(xiàn)的操作,比如open、close、read、write等函數(shù)。
④實現(xiàn)中斷服務(wù)(不是必須的)。
?、菥幾g該驅(qū)動程序到內(nèi)核中,或者用insmod命令加載。
評論