新聞中心

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

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

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

2.2 HHPPC8245-4ETH-R1嵌入式開(kāi)發(fā)平臺(tái)結(jié)構(gòu)

HHPPC8245-4ETH-R1是華恒公司推出的一款嵌入式高性能網(wǎng)絡(luò)開(kāi)發(fā)平臺(tái),開(kāi)發(fā)板硬件系統(tǒng)由核心板和底板兩部分組成[1],功能模塊圖如圖2所示。核心板采用musenki板,板上集成了處理器、NOR FLASH(4M)、SDRAM等設(shè)備,采用PCI 2.2總線(xiàn),并引出多種功能接口;底板上配置4個(gè)Davicom10/100M自適應(yīng)以太網(wǎng)口,一個(gè)串口,并將FLASH擴(kuò)展到32M,便于將來(lái)的功能擴(kuò)展。FLASH上的軟件主要由引導(dǎo)裝載程序PPCboot、Linux內(nèi)核映象和RAMDISK文件系統(tǒng)三部分構(gòu)成,其中RAMDISK中包含了 BusyBox Shell、IPsec-Tools、模塊操作工具等上層應(yīng)用程序。

圖2 核心板(上)和底板(下)的硬件功能模塊圖

3 基于HHPPC8245平臺(tái)的 網(wǎng)關(guān)設(shè)備的開(kāi)發(fā)與設(shè)計(jì)

3.1 Linux交叉開(kāi)發(fā)環(huán)境的分析與實(shí)現(xiàn)

HHPPC8245-4ETH-R1目標(biāo)板與PC宿主機(jī)有不同的POWER結(jié)構(gòu),需要在PC宿主機(jī)上建立交叉開(kāi)發(fā)工具鏈,包括binutils、 gcc和glibc庫(kù)三大部件。本系統(tǒng)采用Linux-2.6.10內(nèi)核,網(wǎng)上的二進(jìn)制代碼大多版本太低,僅能編譯Linux-2.4系列內(nèi)核,因此從源代碼開(kāi)始建立開(kāi)發(fā)環(huán)境,本系統(tǒng)選擇的源代碼版本為binutils-2.13.90.0,10、gcc-3.3.1、glibc-2.3.2;由于 支持altivec,因此編譯平臺(tái)目標(biāo)名為powerpc-linux-gnualtivec-。交叉開(kāi)發(fā)環(huán)境建立后將包含有 powerpc-linux-gnualtivec-gcc等交叉開(kāi)發(fā)工具的目錄加入$PATH環(huán)境變量,并交叉編譯、安裝OpenSSL和Flex庫(kù),用于安裝IPsec-Tools。

3.2 Linux 2.6.10內(nèi)核移植的分析與實(shí)現(xiàn)

內(nèi)核移植包括CPU Core移植、硬件平臺(tái)移植和系統(tǒng)外圍驅(qū)動(dòng)程序開(kāi)發(fā)[4]。Linux-2.6內(nèi)核支持 處理器和開(kāi)發(fā)板上大部分硬件,因此移植的主要任務(wù)是核心板硬件平臺(tái)的移植。內(nèi)核代碼入口點(diǎn)為arch/ppc/kernel/head.S,在完成查找 processor和architecture類(lèi)型,建立內(nèi)核初始化堆棧、建立臨時(shí)頁(yè)表等工作后,調(diào)用platform_init函數(shù),用于在 start_kernel函數(shù)中初始化中斷、陷阱、控制臺(tái)等各個(gè)模塊時(shí)調(diào)用。平臺(tái)相關(guān)的初始化函數(shù)在arch/ppc/platform/中實(shí)現(xiàn)。因此在該目錄下創(chuàng)建musenki_setup.c,實(shí)現(xiàn)PCI總線(xiàn)、中斷控制器、IO端口映射、CPU頻率、復(fù)位函數(shù)、串口和早期打印函數(shù)支持等初始化工作。這部分修改、移植需要熟悉平臺(tái)的各種配置參數(shù),應(yīng)參考相似平臺(tái)及Internet上相關(guān)源代碼。

平臺(tái)的移植同時(shí)需要修改相關(guān)Kconfig和Makefile文件,在arch/ppc/Kconfig中加入musenki平臺(tái)的支持,在arch/ppc/platforms/Makefile加入musenki_setup.c的編譯。

FLASH中為內(nèi)核映象留下的地址空間有限,為節(jié)省資源、加快啟動(dòng)速度,在選擇內(nèi)核編譯選項(xiàng)時(shí)只需選擇系統(tǒng)運(yùn)行必須的模塊,使內(nèi)核盡量精簡(jiǎn)。本系統(tǒng)的內(nèi)核應(yīng)支持的文件系統(tǒng)為EXT2和JFFS2,網(wǎng)絡(luò)協(xié)議需包括AH、ESP等IPsec協(xié)議,以及相關(guān)的加密、認(rèn)證等算法。



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

評(píng)論


相關(guān)推薦

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

關(guān)閉