新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > GPRS與ZigBee的城市照明系統(tǒng)網(wǎng)關(guān)設(shè)計(jì)

GPRS與ZigBee的城市照明系統(tǒng)網(wǎng)關(guān)設(shè)計(jì)

作者: 時(shí)間:2012-05-08 來(lái)源:網(wǎng)絡(luò) 收藏

f.jpg


3.2 μC/OS-II移植
μC/OS-II作為一個(gè)源代碼公開(kāi)的操作,在具體應(yīng)用中穩(wěn)定可靠,可擴(kuò)展性強(qiáng),功能強(qiáng)大,并且支持uIP、TCP/IP協(xié)議棧、μC/GUI等。μC/OS-II內(nèi)核屬于搶占式,最多可以處理64個(gè)任務(wù),每個(gè)任務(wù)相對(duì)獨(dú)立,都有超時(shí)函數(shù),時(shí)間用完后交出MCU使用權(quán)。μC/OS-II架構(gòu)如圖7所示。
為了使所程序?qū)崟r(shí)性更強(qiáng)、運(yùn)行穩(wěn)定性更高、擴(kuò)展性更強(qiáng),將μC/OS-II操作系統(tǒng)移植到MCF52223上。其移植步驟如下:
①設(shè)置與處理器及編譯器相關(guān)的代碼(OS_CPU.H)。OS_CPU.H包括了用#define定義的與處理器相關(guān)的常量、宏和類(lèi)型定義。不同的編譯器會(huì)使用不同的字節(jié)長(zhǎng)度來(lái)表示同一數(shù)據(jù)類(lèi)型,所以要定義一系列數(shù)據(jù)類(lèi)型以確保移植的正確性。
②處理器相關(guān)部分匯編實(shí)現(xiàn)OS_CPU_A.ASM函數(shù)的修改。要求用戶(hù)編寫(xiě)4個(gè)匯編語(yǔ)言函數(shù):OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()。
③用C語(yǔ)言實(shí)現(xiàn)與處理器任務(wù)相關(guān)的函數(shù)OS-CPU_C.C。μC/OS-II的移植要求用戶(hù)編寫(xiě)6個(gè)簡(jiǎn)單的C函數(shù):OSTaskStkInit()、OSTaskCrea teHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHook()。
當(dāng)μC/OS-II系統(tǒng)移植完成后,添加節(jié)點(diǎn)實(shí)現(xiàn)的基本任務(wù),包括模塊通信任務(wù);網(wǎng)關(guān)與模塊通信任務(wù);液晶屏顯示任務(wù);按鍵任務(wù);I2C總線存儲(chǔ)任務(wù)。

結(jié)語(yǔ)
在蘇州科技園的某條道路上對(duì)20個(gè)景觀燈安裝了單燈測(cè)控節(jié)點(diǎn),組成單燈無(wú)線傳感器網(wǎng)絡(luò),而后在道路電控柜中安裝了所的網(wǎng)關(guān),最后通過(guò)監(jiān)控中心的上位機(jī)軟件進(jìn)行了測(cè)試。經(jīng)實(shí)際運(yùn)行,該系統(tǒng)可以很好地達(dá)到預(yù)期的效果,該網(wǎng)關(guān)方案較好地解決了無(wú)線傳感器網(wǎng)絡(luò)與監(jiān)控中心之間的數(shù)據(jù)傳輸問(wèn)題。此外,雖然該網(wǎng)關(guān)方案是以監(jiān)控系統(tǒng)為依托的,但為類(lèi)似的無(wú)線傳感器網(wǎng)絡(luò)的網(wǎng)關(guān)設(shè)計(jì)提供了很好的參考,具有較高的實(shí)際應(yīng)用價(jià)值。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉