一種轎車車門ECU 設計
3 軟件設計
3.1 μC/OS-Ⅱ?qū)崟r操作系統(tǒng)在XC164CS微控制器上的移植
本系統(tǒng)的車門ECU采用基于μC/OS-Ⅱ?qū)崟r操作系統(tǒng)的設計方法。在完成μC/OS-Ⅱ的移植后,可極大地簡化應用程序的編寫,便于調(diào)試、維護和移植,提高系統(tǒng)的穩(wěn)定性,且可根據(jù)用戶的需求裁剪各項功能,容易添加新功能,縮短開發(fā)時間。因此,本系統(tǒng)的車門ECU設計首先要完成μC/OS-Ⅱ在 XC164CS上的移植,之后以任務添加方式完成整個ECU的應用軟件設計。
所謂移植,就是使一個實時內(nèi)核能在某個微處理器或微控制器上運行。雖然大部分的μC/OS-Ⅱ代碼是用C語言編寫的,但仍需要用匯編語言寫一些與處理器相關(guān)的代碼,這是因為μC/OS-Ⅱ在讀寫處理器寄存器時只能通過匯編語言來實現(xiàn)。
要使μC/OS-Ⅱ正常運行,處理器及其編譯器必須滿足以下要求:
(1)處理器的C編譯器可產(chǎn)生可重入代碼;
(2)用C語言可以打開和關(guān)閉中斷;
(3)處理器支持中斷,并且可產(chǎn)生定時中斷(通常在10 Hz~100 Hz之間);
(4)處理器支持可容納一定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧;
(5)處理器有將堆棧指針和其他CPU寄存器讀出和存儲到堆?;騼?nèi)存中的指令。
XC164CS微控制器和Keil C166編譯器可滿足以上要求。移植工作主要關(guān)注如何使μC/OS-II正確地定義和使用XC164CS。首先是芯片的中斷處理機制,即如何開啟、屏蔽中斷,可否保存前一次中斷狀態(tài)等。此外,還需關(guān)注系統(tǒng)對于存儲器的使用機制,諸如內(nèi)存的地址空間、堆棧的增長方向、壓棧和出棧的指令等。
評論