配置自己的UC/OS―II操作系統
注:對于ARM7系列CPU,OS_STK為32位。
2 與通信功能有關的數據結構
1.OS_MAX_EVENTS
l 作用:設置程序中可以具有事件控制塊的最大數量。
l 說明事件控制塊數量即程序設計中信號量,郵箱和消息隊列的個數。
l 舉例:若程序中定義了一個郵箱,一個消息隊列和一個互斥信號量。則此時OS_MAX_EVENTS的最小值為3.
注:如果使用zlg提供的模版時,建議OS_MAX_EVENTS設置最小為8(因為zlg的模板中可能也用到了一些事件控制塊)
2.OS_MAX_MEM_PART
l 作用:設置系統中內存塊的最大數目。
l 說明:如果不用內存控制,則設置為默認值即可
l 舉例:在zlg模板中OS_MAX_MEM_PART為5
注:如果應用程序要使用動態內存,那么內存控制塊的配置常數OS_MAX_MEM_PARTS最小應該設置為2.
為了使編譯器能夠對系統的內存管理函數進行編譯,常量OS_MEM_EN也要設置為1。
3.OS_MAX_QS
l 作用:設置系統中具有消息隊列的最大數目
l 說明:如果程序中要使用消息隊列,那么OS_MAX_QS最小應該設置為2。為了使編譯器能夠對系統的管理消息隊列的函數進行編譯,常量0S_Q_EN也要同時設置為1。
l 舉例:若在程序中定義了一個消息隊列,則該值最小設定為1.
4.OS_MAX_FLAGS:
l 作用:設定事件標志組的最大數目
l 說明:若定義了事件標志組,還要定義定義事件標志組包含的標志位數(只能是8位,16位或32位)
l 舉例:定義16位的事件標志組
typedef INT16U 0S_FLAGS
2 其它參數
1.OS_TICK_PER_SEC:
l 作用:設置調用OSTimeTick()函數的頻率,即時鐘最小單位的設定。
l 說明:如果這個值設定得太大,則系統的實時性會受到影響;如果這個值設定的太小,則CPU會忙于時鐘處理而增大開銷。
注:根據微處理器的不同,該值設置為10~100ms的周期為宜,對應頻率為10~100HZ。
評論