IEEE(Institute of Electrical and Electronics Engineers,美國電氣和電子工程師協(xié)會)對嵌入式系統(tǒng)的定義:“用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置”。原文為:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或者板級支持包(Board Support Package,BSP),它半系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層驅(qū)動程序與硬件無關(guān),上層軟件開發(fā)人員無需關(guān)心底層硬件的具體情況,根據(jù)BSP層提供的接口即可進行開發(fā)。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能。 實際上,BSP是一個介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊。設(shè)計一個完整的BSP需要完成兩部分工作:嵌入工系統(tǒng)的硬件初始化的BSP功能,設(shè)計硬件相關(guān)的設(shè)備驅(qū)動。
三、系統(tǒng)軟件層
系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)(Real-time Operation System,RTOS)、文件系統(tǒng)、圖形用戶接口(Graphic User Interface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。
(1)CAN(Control Area Network,控制器局域網(wǎng))總線是一種多主方式的串行通信總線,是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,最初被用于汽車環(huán)境中的電子控制網(wǎng)絡(luò)。一個CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理想情況下可以掛接任意多個節(jié)點,實際應(yīng)用中節(jié)點數(shù)據(jù)受網(wǎng)絡(luò)硬件的電氣特性所限制。