基于CDC3207G微控制器的汽車儀表板設(shè)計(jì)
3 軟件設(shè)計(jì)
考慮到汽車儀表板對(duì)實(shí)時(shí)性的要求,應(yīng)用了μC/OS—II操作系統(tǒng)開發(fā)軟件。μC/OS—II是一個(gè)具備現(xiàn)代操作系統(tǒng)特點(diǎn)的RTOS,同時(shí)它結(jié)構(gòu)清晰,注解詳盡,具有良好的可擴(kuò)展性和可移植性,廣泛地應(yīng)用于各種架構(gòu)的微處理器。μC/OS—II的系統(tǒng)組成包含任務(wù)調(diào)度,任務(wù)管理,時(shí)間管理和任務(wù)間的通信等基本功能。這里僅對(duì)μC/OS—II的啟動(dòng)程序和任務(wù)的分配作簡要介紹,將著眼點(diǎn)放在基于CDC3207G的移植和應(yīng)用。圖6給出軟件的組織結(jié)構(gòu)。
3.1 啟動(dòng)代碼的設(shè)計(jì)
嵌入式系統(tǒng)的資源有限,程序通常都是固化在ROM運(yùn)行。ROM程序執(zhí)行前,需要初始化系統(tǒng)硬件和軟件運(yùn)行環(huán)境,這些工作由匯編語言編寫的啟動(dòng)程序完成。啟動(dòng)程序是嵌入式程序的開頭部分,與應(yīng)用程序一起固化在ROM中,并首先在系統(tǒng)上電后運(yùn)行。它應(yīng)包含各模塊可能出現(xiàn)的所有段類,并合理安排它們的次序。
設(shè)計(jì)優(yōu)秀的嵌入式程序關(guān)鍵要有好的啟動(dòng)程序,由于μC/OS—II不是針對(duì)特定的硬件進(jìn)行設(shè)計(jì),可以把μC/OS—II內(nèi)核代碼分成4個(gè)部分:與處理器無關(guān)的代碼、與處理器有關(guān)的代碼、與應(yīng)用相關(guān)的代碼以及驅(qū)動(dòng)程序庫。為了使μC/OS—II在基于ARM7TDMI的處理器CDC3207G上能夠正常的運(yùn)行,需要實(shí)現(xiàn)相應(yīng)的啟動(dòng)程序以及對(duì)μC/OS—II中與處理器相關(guān)部分的設(shè)計(jì)與實(shí)現(xiàn)。圖7給出啟動(dòng)代碼的流程圖。
評(píng)論