基于μC/OS-Ⅱ的通信電源監(jiān)控系統(tǒng)的設(shè)計(jì)
0 引 言
通信電源系統(tǒng)運(yùn)行質(zhì)量的好壞將直接關(guān)系到通信網(wǎng)絡(luò)運(yùn)行的可靠性及穩(wěn)定性。通信電源監(jiān)控系統(tǒng)具有“三遙”、數(shù)據(jù)的存儲(chǔ)及處理、告警的查詢分析和統(tǒng)計(jì)等功能。通信電源設(shè)備運(yùn)行參數(shù)多,實(shí)時(shí)效果強(qiáng),所以在監(jiān)控系統(tǒng)當(dāng)中選擇功能強(qiáng)大的控制芯片,應(yīng)用嵌入式操作系統(tǒng),采用嵌入式軟件開發(fā)技術(shù)使其盡可能地發(fā)揮出強(qiáng)大的控制管理功能是當(dāng)前通信電源監(jiān)控系統(tǒng)的發(fā)展趨勢(shì)。
與傳統(tǒng)的51單片機(jī)開發(fā)的通信電源監(jiān)控系統(tǒng)相比,通過(guò)μC/OS-Ⅱ與TMS470R1A288結(jié)合開發(fā)的通信電源系統(tǒng)有足夠的實(shí)時(shí)性、可靠性和可擴(kuò)展性,同時(shí)成本更低。
1 μC/OS-Ⅱ在TMS470R1A288的移植
ARM7(Advanced RISC Machines)是目前在嵌入式領(lǐng)域里應(yīng)用非常廣泛的RISC微處理器系列,以其低成本、低功耗、高性能的優(yōu)點(diǎn)占據(jù)了嵌入式系統(tǒng)應(yīng)用領(lǐng)域的領(lǐng)先地位。μC/OS-Ⅱ可以看作是一個(gè)功能強(qiáng)大完善的多任務(wù)調(diào)度器,具有很好的可移植性。將μC/OS-II移植到ARM系列的TMS470R1A288處理器上,需要修改三個(gè)和ARM體系結(jié)構(gòu)相關(guān)的文件,下面一一介紹。
1.1 OS_CPU.H
數(shù)據(jù)類型定義部分的修改是和所用的編譯器相關(guān)的,不同的編譯器會(huì)使用不同的字節(jié)長(zhǎng)度來(lái)表示同一數(shù)據(jù)類型;由于處理器現(xiàn)場(chǎng)的寄存器在任務(wù)切換時(shí)都將會(huì)保存在當(dāng)前運(yùn)行任務(wù)的堆棧中,所以O(shè)S_STK數(shù)據(jù)類型必須和處理器的寄存器長(zhǎng)度保持一致;定義堆棧的增長(zhǎng)方向;宏定義包括開關(guān)中斷的宏定義,以及進(jìn)行任務(wù)切換的宏定義。
1. 2 OS_CPU_A.ASM
用ARM的匯編指令實(shí)現(xiàn)了下面四個(gè)函數(shù):OS-StartHighRdy(),OSCtxSw(),OSIntCtxSw(),OS-TickISR()
1.3 OS_CPU_C.C
μC/OS-II的移植要求用戶編寫以下10個(gè)簡(jiǎn)單的C函數(shù):
ostaskstkinit(),ostaskcreatehook(),ostaskdel-hook(),ostaskswhook(),ostaskstathook(),ostime-tickhook(),ostaskidlehook(),osinithookbegin(),os-inithookend(),ostcbinithook()。但惟一必要的函數(shù)是ostaskstkinit(),其他9個(gè)函數(shù)必須聲明,但是如果沒有特殊需求,則只需要簡(jiǎn)單地將它們都實(shí)現(xiàn)為空函數(shù)即可。
評(píng)論