摘要:RAM總需求=應用程序的RAM需求+內核數據區(qū)的RAM需求+(任務棧需求+最大中斷嵌套棧需求)·任務數。所幸的是,μC/OS-II可以對每個任務分別定義堆棧空間的大小,開發(fā)人員可根據任務的實際需求來進行棧空間的分配。但在RAM容量有限的情況下,還是應該注意一下對大型數組、數據結構和函數的使用,別忘了,函數的形參也是要推入堆棧的。
RAM總需求=應用程序的RAM需求+內核數據區(qū)的RAM需求+(任務棧需求+最大中斷嵌套棧需求)·任務數。
所幸的是,μC/OS-II可以對每個任務分別定義堆棧空間的大小,開發(fā)人員可根據任務的實際需求來進行??臻g的分配。但在RAM容量有限的情況下,還是應該注意一下對大型數組、數據結構和函數的使用,別忘了,函數的形參也是要推入堆棧的。
3.uCOS II的移植也是一件需要值得注意的工作。如果沒有現成的移植實例的話,就必須自己來編寫移植代碼。雖然只需要改動兩個文件,但仍需要對相應的微處理器比較熟悉才行,最好參照已有的移植實例。另外,即使有移植實例,在編程前最好也要閱讀一下,因為里面牽扯到堆棧操作。在編寫中斷服務程序時,把寄存器推入堆棧的順序必須與移植代碼中的順序相對應。
4.和其他一些著名的嵌入式操作系統(tǒng)不同,uCOS II在單片機系統(tǒng)中的啟動過程比較簡單,不像有些操作系統(tǒng)那樣,需要把內核編譯成一個映像文件寫入ROM中,上電復位后,再從ROM中把文件加載到RAM中去,然后再運行應用程序。uCOS II的內核是和應用程序放在一起編譯成一個文件的,使用者只需要把這個文件轉換成HEX格式,寫入ROM中就可以了,上電后,會像普通的單片機程序一樣運行。
結語
由以上介紹可以看出,uCOS II具有免費、使用簡單、可靠性高、實時性好等優(yōu)點,但也有移植困難、缺乏必要的技術支持等缺點,尤其不像商用嵌入式系統(tǒng)那樣得到廣泛使用和持續(xù)的研究更新。但開放性又使得開發(fā)人員可以自行裁減和添加所需的功能,在許多應用領域發(fā)揮著的作用。當然,是否在單片機系統(tǒng)中嵌入uCOS II應視所開發(fā)的項目而定,對于一些簡單的、低成本的項目來說,就沒必要使用嵌入式操作系統(tǒng)了。
通信工程師備考資料免費領取
去領取