新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > LX800在車載監(jiān)控系統(tǒng)中的應(yīng)用

LX800在車載監(jiān)控系統(tǒng)中的應(yīng)用

作者: 時間:2012-12-07 來源:網(wǎng)絡(luò) 收藏

2 系統(tǒng)軟件設(shè)計
Linux采用統(tǒng)一的框架對硬件進行管理,從一個硬件平臺到另一個硬件平臺的改動與上層應(yīng)用無關(guān)。Linux可以隨意地配置,不需要任何許可證或與商家的合作關(guān)系,源代碼可以免費得到,這使得采用Linux作為操作系統(tǒng)不會遇到任何關(guān)于版權(quán)的糾紛。Linux本身內(nèi)置網(wǎng)絡(luò)支持,而目前嵌入式系統(tǒng)對網(wǎng)絡(luò)支持要求越來越高,Linux的高度模塊化使添加部件非常容易。Linux是一個和Unix相似、以內(nèi)核為基礎(chǔ)的、具有完全的內(nèi)存訪問控制、支持大量硬件(包括x86、Alpha、ARM等現(xiàn)有的大部分芯片)等特性的一種通用操作系統(tǒng)。其程序源碼全部公開,任何人可以修改,并在GNU通用公共許可證下發(fā)行。這樣,開發(fā)人員可以對操作系統(tǒng)進行定制裁減,適應(yīng)其特殊需要。其強大的語言編譯器GCC、G++等不但成熟完善,而且使用方便。本論文中基于V2.6.27內(nèi)核通過make menuconfig對內(nèi)核進行部分功能裁減。
軟硬件綜合開發(fā)是嵌入式系統(tǒng)的一大特色,軟件設(shè)計是在緊密聯(lián)系硬件的基礎(chǔ)上來完成的。本文的車載監(jiān)控系統(tǒng)設(shè)計遵循嵌入式軟件的體系結(jié)構(gòu)設(shè)計方法,分為兩個部分:①相關(guān)驅(qū)動的開發(fā),如底層包括擴展的驅(qū)動、串口驅(qū)動、CAN驅(qū)動及內(nèi)核自帶的網(wǎng)絡(luò)驅(qū)動、USB、CS5536等設(shè)備驅(qū)動;②應(yīng)用程序的開發(fā),包括顯示監(jiān)控任務(wù)的實現(xiàn)、配置文件讀寫實現(xiàn)等。
2.1 設(shè)備驅(qū)動開發(fā)
底層接口層封裝監(jiān)控顯示軟件與底層通信硬件接口、操作系統(tǒng)交互等部分的代碼,通過定義統(tǒng)一的接口規(guī)范,實現(xiàn)上層軟件不依賴具體的硬件平臺,從而實現(xiàn)軟件易于移植。
作為底層驅(qū)動模塊的基本結(jié)構(gòu)至少必須包含兩個函數(shù):module_init()和module_exit()。第一個函數(shù)是在把模塊加載入內(nèi)核時調(diào)用的;第二個函數(shù)則在刪除該模塊時調(diào)用。module_init()向內(nèi)核注冊模塊所能提供的所有新功能,即可以由應(yīng)用程序使用的新功能。函數(shù)module_ exit()的任務(wù)是清除掉module_init()所做的一切,保證這個模塊被安全地卸載。模塊的調(diào)用情況如圖2所示。下面以為代表,描述硬件驅(qū)動設(shè)計過程。

本文引用地址:http://butianyuan.cn/article/148218.htm


d.JPG



關(guān)鍵詞: 嵌入式Linux LX800 PCI9054

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉