王宜結
(淮南師范學院 電氣信息工程學院,安徽 淮南 232038)
隨著應用系統復雜程度的不斷提高,程序編制也變得越來越難控制。解決復雜問題的最好辦法就把它分解成一個個相對簡單的問題,即一個個單獨的任務,分而治之。UC/OS-II是一個實時多任務操作系統,因其短小精悍又源代碼開放,在一些小型系統中得到了較廣泛的應用。在MCU上加載uC/OS-II操作系統,再對每個問題編寫相應的任務代碼,就可以實現復雜的控制和應用。
uC/OS-II是基于優先級的搶占式實時多任務操作系統,最多可管理64個任務,可固化,可剪裁,具體高穩定性和可靠性。它包含了實時內核、任務管理 、時間管理、任務間通信同步(信號量 ,郵箱,消息隊列)和內存管理等功能。絕大部分代碼用C語言寫成,與硬件相關部分用匯編語言編寫,最鮮明的特點是源代碼是公開免費的,便于移植和維護。uC/OS-II是面向中小型嵌入式系統的,包含全部功能模塊的內核大約為10KB,如果經過裁減只保留核心代碼,則可壓縮到3KB左右。RAM的占用量與系統中的任務數及堆棧空間大小有關,堆棧的大小取決于任務的局部變量、緩沖區大小及可能的中斷嵌套層數。應用程序的時間精度由系統時鐘節拍決定,uC/OS-II需要用戶提供周期性的時鐘信號源,用于實現時間延時和確認超時,一般時鐘節拍在10到100Hz之間,因為uC/OS-II在每一個節拍都要檢查有沒有更高優先級的就緒任務在等待執行 ,若有 ,就要進行任務切換。所以時鐘節拍率越高,系統的額外負荷就越重。……