嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ的移植實(shí)例
3.1.1 數(shù)據(jù)類型
μC/OS-Ⅱ不使用C語(yǔ)言中的short,int和long等數(shù)據(jù)類型的定義,因?yàn)樗鼈兣c處理器類型有關(guān),隱含著不可移植性。代之以移植性強(qiáng)的整數(shù)數(shù)據(jù)類型,這樣,既可直觀又可移植,不過(guò)這就成了必須移植的代碼。根據(jù)IAR EWARM C編譯器的特性,特做如下定義:
3.1.2 代碼臨界區(qū)
RTOS在進(jìn)入系統(tǒng)臨界區(qū)前必須關(guān)閉中斷,退出臨界區(qū)后再開中斷,μC/OS-Ⅱ定義了2個(gè)宏來(lái)開/關(guān)中斷:
3.1.3 堆棧增長(zhǎng)方向
堆棧增長(zhǎng)方向與編譯器有關(guān),在μC/OS-Ⅱ中,用OS_STK_GROWTH來(lái)設(shè)置堆棧的增長(zhǎng)方向,OS_STK_GROWTH為O表示堆棧從低地址向高地址方向增長(zhǎng);OS_STK_GROWTH為1表示堆棧從高地址向低地址方向增長(zhǎng),在本例中堆棧從高地址向低地址方向增長(zhǎng),其宏定義為:
#define OS_STK_GROWTH 1;/*堆棧從高地址向低地址增長(zhǎng)*/ linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論