LX800在車(chē)載監(jiān)控系統(tǒng)中的應(yīng)用
2.1.4 pci9054_cleanup_module注銷(xiāo)函數(shù)
用于注銷(xiāo)PCI9054設(shè)備及相關(guān)擴(kuò)展設(shè)備。流程圖如圖5所示。本文引用地址:http://m.butianyuan.cn/article/148218.htm
2.2 應(yīng)用程序的開(kāi)發(fā)
車(chē)載監(jiān)控系統(tǒng)應(yīng)用程序的實(shí)現(xiàn)過(guò)程主要包括:窗體和各個(gè)信息控件的初始化并顯示窗體實(shí)現(xiàn)人機(jī)交互、對(duì)按鍵的響應(yīng)、參數(shù)的存儲(chǔ)、發(fā)送語(yǔ)音消息、圖5 PCI9054設(shè)備的卸載CAN事件數(shù)據(jù)的處理并實(shí)時(shí)刷新屏上信息顯示當(dāng)前設(shè)備的工作狀態(tài)。其程序流程如圖6所示。
2.3 應(yīng)用程序與設(shè)備驅(qū)動(dòng)的關(guān)聯(lián)
在Linux系統(tǒng)中,對(duì)于一個(gè)硬件設(shè)備對(duì)應(yīng)的是/dev目錄下的邏輯設(shè)備節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)以文件的形式存在,但它不是普通意義上的文件,是設(shè)備文件,更確切地說(shuō),它是設(shè)備節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)是通過(guò)mknod命令建立的,其中指定了主設(shè)備號(hào)和次設(shè)備號(hào)。通常而言,主設(shè)備號(hào)表明了對(duì)應(yīng)著確定的驅(qū)動(dòng)程序;次設(shè)備號(hào)由內(nèi)核使用,用于正確確定設(shè)備文件所指的設(shè)備。
insmod加載驅(qū)動(dòng)程序,設(shè)備號(hào)是從/proc/devices文件中獲得的,所以通常是有驅(qū)動(dòng)程序在內(nèi)核中,才有設(shè)備節(jié)點(diǎn)在目錄中。這個(gè)設(shè)備號(hào)(這里特指主設(shè)備號(hào))的主要作用,就是聲明設(shè)備所使用的驅(qū)動(dòng)程序。驅(qū)動(dòng)程序和設(shè)備號(hào)是一一對(duì)應(yīng)的,當(dāng)你打開(kāi)一個(gè)設(shè)備文件時(shí),操作系統(tǒng)能知道這個(gè)設(shè)備所對(duì)應(yīng)的驅(qū)動(dòng)程序的加載。
設(shè)備節(jié)點(diǎn)文件中的file屬性中指明了驅(qū)動(dòng)程序中fops方法實(shí)現(xiàn)的函數(shù)指針。應(yīng)用程序通過(guò)使用open、write、read、ioetl等函數(shù)來(lái)訪問(wèn)設(shè)備節(jié)點(diǎn),進(jìn)行相應(yīng)的工作。
結(jié)語(yǔ)
LX800微處理器以其豐富的接口、較快的處理速度、穩(wěn)定性及易擴(kuò)展性而受到嵌入式開(kāi)發(fā)者的青睞?;?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/LX800">LX800的車(chē)載監(jiān)控系統(tǒng)采用Lin ux操作系統(tǒng),使其具備了實(shí)時(shí)多任務(wù)處理的能力。經(jīng)過(guò)測(cè)試,系統(tǒng)運(yùn)行穩(wěn)定可靠,有較好應(yīng)用前景。
評(píng)論