針對無線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)特點及對無線可移動終端的需求,分析了Linux操作系統(tǒng)的啟動過程,提出了無線傳感器網(wǎng)絡(luò)可移動終端引導(dǎo)程序的設(shè)計方法,并對引導(dǎo)程序?qū)崿F(xiàn)的4個關(guān)鍵環(huán)節(jié)的配置和設(shè)計進行了說明。實際調(diào)試結(jié)果表明:
引導(dǎo)程序可成功地運行在自主設(shè)計的無線終端硬件平臺上。
0 引言
對等網(wǎng)絡(luò)(Peer-to-Peer,P2P) 和自組織網(wǎng)絡(luò)(SelforganizationNetwork) 是目前國際計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域的研究熱點,有別于傳統(tǒng)通信網(wǎng)絡(luò)的Client/Server 機制,對等網(wǎng)絡(luò)節(jié)點之間不僅可以直接通信,而且每個節(jié)點都可作為中間節(jié)點為其他節(jié)點提供服務(wù),使本不能相互覆蓋的2 個或多個網(wǎng)絡(luò)節(jié)點之間實現(xiàn)通信與數(shù)據(jù)傳輸。
無線傳感器網(wǎng)絡(luò)作為新一代的傳感器網(wǎng)絡(luò),充分借鑒了對等網(wǎng)絡(luò)技術(shù)和自組織網(wǎng)絡(luò)技術(shù)的特點。終端作為網(wǎng)絡(luò)的實體和業(yè)務(wù)的承載體,節(jié)點芯片是整個無線傳感器網(wǎng)絡(luò)的基礎(chǔ),網(wǎng)絡(luò)及其關(guān)鍵技術(shù)的研究應(yīng)首先搭建網(wǎng)絡(luò)和業(yè)務(wù)的承載平臺,可移動終端則成為驗證節(jié)點芯片移動性、數(shù)據(jù)傳輸、覆蓋范圍等性能的平臺。在實際應(yīng)用中,基于ARM 處理器和嵌入式技術(shù)的無線傳感器網(wǎng)絡(luò)系統(tǒng)在環(huán)境監(jiān)測、醫(yī)療監(jiān)護等領(lǐng)域得到了廣泛的應(yīng)用。
適用于終端的嵌入式操作系統(tǒng)主要包括 Symbian,Windows Mobile,PALM OS48 和Linux.由于Linux 具有源代碼的開放性和內(nèi)核的可配置性等特點,因此本設(shè)計選擇內(nèi)核版本2.4 的Linux 作為終端的操作系統(tǒng)。所設(shè)計的移動終端硬件平臺主要由ARM9 嵌入式處理器、射頻單元(RF)、存儲體、音頻處理、觸摸式液晶屏控制、鍵盤輸入和電源管理等單元構(gòu)成,并內(nèi)置以太網(wǎng)和USB 接口。其中,存儲體部分包含CPU 片內(nèi)FLASH、片內(nèi)SRAM、外置大頁面NandFLASH 以及高速低功耗PSRAM(Pseudo SRAM)。
BootLoader 是終端上電或復(fù)位之后先于操作系統(tǒng)內(nèi)核運行的引導(dǎo)程序。BootLoader 與硬件息息相關(guān),硬件環(huán)境不同,BootLoader 也不同,要建立一個通用的BootLoader 幾乎是不可能的。基于該思路,本文重點闡述了無線傳感器網(wǎng)絡(luò)移動終端引導(dǎo)程序(BootLoader) 的設(shè)計實現(xiàn)。
1 引導(dǎo)程序設(shè)計流程
引導(dǎo)程序設(shè)計流程包括系統(tǒng)配置、初始化與參數(shù)配置、裝載映像文件、內(nèi)核的引導(dǎo)及系統(tǒng)初始化、Linux 內(nèi)核啟動。
程序設(shè)計采用匯編語言與C 語言混合方式:其中,匯編部分實現(xiàn)CPU 的初始化、存儲空間初始化等;C 語言部分則完成加載模式的判決、內(nèi)核映像文件裝載等,圖1 所示是其工作流程圖。引導(dǎo)程序支持加載模式和下載模式兩種工作模式,其中,啟動加載為默認模式。