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