。1)μC/OS-II嵌入式實(shí)時(shí)操作系統(tǒng)
隨著無(wú)線傳感器網(wǎng)絡(luò)的廣泛應(yīng)用,節(jié)點(diǎn)構(gòu)成的變化是巨大的。因此無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)上的嵌入式操作系統(tǒng)必須具備好的移植性。與通用的操作系統(tǒng)相比,嵌入式操作系統(tǒng)具有如下一些特征:小巧、實(shí)時(shí)性、可裁減性、固化代碼、穩(wěn)定性。針對(duì)不同的處理器類(lèi)型,存儲(chǔ)器容量和實(shí)時(shí)性需求,有不同的嵌入式操作系統(tǒng)。UCB 為Mica 系列傳感器網(wǎng)絡(luò)產(chǎn)品開(kāi)發(fā)了一套微型的操作系統(tǒng)TinyOS;清華大學(xué)也開(kāi)發(fā)出了一種靈活的低成本無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn) FLOWS,它的單片機(jī)采用TI 公司的MSP430,移植了uC/OS-II 操作系統(tǒng),無(wú)線傳輸芯片采用NRF905。
μC/OS-II 是一個(gè)簡(jiǎn)單、高效的源碼公開(kāi)的嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核。其大多數(shù)函數(shù)調(diào)用和服務(wù)的執(zhí)行時(shí)間具有可確定性;具有可搶占的實(shí)時(shí)多任務(wù)調(diào)度系統(tǒng)功能,而且提供了用于任務(wù)間同步、互斥、通信的系統(tǒng)服務(wù)。這些功能可以根據(jù)不同需求進(jìn)行裁減,它的最小化內(nèi)核能編譯到2 KB,目前已經(jīng)被移植到x86、ARM、PowerPC、MIPS 等眾多體系結(jié)構(gòu)上。基于短小精悍、可移植性強(qiáng)的特點(diǎn),μC/OS-II 很適用于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)芯片。相比較于TinyOS,uC/OS-II 提供了更加完善的任務(wù)調(diào)度和任務(wù)通信機(jī)制,并且采用標(biāo)準(zhǔn)的C 語(yǔ)言設(shè)計(jì),從而可以更加方便的移植與調(diào)試。
(2)μC/OS-II 在LM3S1968 上的移植
LM3S1968 片上具有高達(dá)256KB 的單周期Flash 和64KB 的單周期SRAM,因此,不需要外擴(kuò)存儲(chǔ)器就可以滿(mǎn)足μC/OS-II 代碼對(duì)容量的要求。
μC/OS-II 在LM3S1968 上的移植,由用戶(hù)層、中間件層、μC/OS-II 源碼層、μC/OS-II移植層和驅(qū)動(dòng)庫(kù)層等五個(gè)層次組成。
①用戶(hù)層的User 目錄存放用戶(hù)代碼與設(shè)置。其中Main.C 文件是用戶(hù)編寫(xiě)任務(wù)的地方,如通風(fēng)控制、光照強(qiáng)度控制等任務(wù);Main.H 定義任務(wù)的堆棧大小、優(yōu)先級(jí)等。OS_CFG.H是μC/OS-II 的配置文件,用戶(hù)可根據(jù)需要修改其內(nèi)容。Includes.H 是總的頭文件,除μC/OS-II的源碼外,所有“.C”的文件都包含它,這樣用戶(hù)所需的頭文件和其它聲明只需在Includes.H中聲明一次就行了。
、谥虚g件層的Middleware 目錄存放用戶(hù)自己編寫(xiě)的中間件,如Uart0.C、Uart0.H 串口通信中間件等。