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