新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MPC8245的嵌入式VPN的研究與開發(fā)

基于MPC8245的嵌入式VPN的研究與開發(fā)

作者: 時間:2012-03-24 來源:網(wǎng)絡(luò) 收藏

3.3 引導(dǎo)裝載程序PPCboot的分析與實現(xiàn)

引導(dǎo)裝載程序的基本功能包含:初始化時鐘、FLASH、SDRAM、串口等硬件,實現(xiàn)tftp通信協(xié)議,從宿主機下載內(nèi)核映象、RAMDISK映象并燒寫到flash、啟動內(nèi)核等。核心板上包含2片2MB的flash,第一片地址空間是FF800000~FF9FFFFF,第二片是 FF000000~FF1FFFFF,PPCboot位于地址0xFF900000處,硬件上設(shè)置成與地址0xFFF00000重疊。由于 處理器的復(fù)位向量是0xFFF00100,因此開發(fā)板的復(fù)位向量相當(dāng)于在第一片F(xiàn)LASH的0XFF900100地址處。開發(fā)板加電后執(zhí)行 PPCboot,進行硬件初始化,隨后將Linux內(nèi)核解壓縮到SDRAM的0xC0000000處,將RAMDISK解壓縮到0xC0A00000處,最后將控制權(quán)交給Linux內(nèi)核。FLASH和SDRAM空間分布如圖3所示。

圖3 FLASH和SDRAM空間分布示意圖

3.4 文件系統(tǒng)的分析與實現(xiàn)

出于穩(wěn)定性和成本考慮,嵌入式系統(tǒng)一般都不使用硬盤,而用FLASH代替,RAMDISK文件系統(tǒng)的壓縮映象保存在FLASH上,系統(tǒng)復(fù)位時由引導(dǎo)裝載程序解壓、加載到SDRAM。本系統(tǒng)采用8M的RAMDISK(壓縮前),其中目錄主要包含/bin、/sbin、/etc、/lib、/dev、 /proc等,應(yīng)用程序主要包含:精簡的Shell命令集BusyBox、的應(yīng)用層配置工具IPsec-Tools、Linux-2.6內(nèi)核的模塊操作工具module-init-tools。在宿主機上使用交叉開發(fā)工具編譯,為提高運行效率、節(jié)省存儲空間,PPC目標(biāo)代碼鏈接時選用靜態(tài)鏈接,并用 powerpc-linux-gnualtivec-strip精簡。

FLASH上的文件系統(tǒng)一般采用JFFS2。JFFS2是針對以閃存為存儲介質(zhì)的嵌入式文件系統(tǒng),充分考慮了閃存的物理局限性,具有防崩潰、負(fù)載平衡、垃圾收集等功能,且源代碼公開,易于學(xué)習(xí)和使用。在FLASH的第4M~32M空間上創(chuàng)建JFFS2文件系統(tǒng)(前4M用于保存PPCboot、內(nèi)核和 RAMDISK壓縮映象),并在系統(tǒng)啟動腳本中將其掛載到/jffs2目錄。

4 基于 的實現(xiàn)和性能測試

PPCboot、內(nèi)核與RAMDISK文件系統(tǒng)映象生成后應(yīng)燒寫入FLASH。PPCboot的燒寫必須借助JTAG工具,燒寫到地址 0XFF900000處。PPCboot正常啟動后用tftp命令將遠(yuǎn)程開發(fā)機上的內(nèi)核映象下載到目標(biāo)板地址800000處,用fp命令燒寫;同樣,將遠(yuǎn)程開發(fā)機上的RAMDISK映象下載到目標(biāo)板A00000處,用ff命令燒寫。以上工作完成后目標(biāo)系統(tǒng)便能正常啟動,并返回 BusyBox的Shell提示符界面。



關(guān)鍵詞: MPC8245 嵌入式Linux VPN

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉