新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PowerPC和嵌入式Linux的VPN網(wǎng)關(guān)設(shè)計(jì)

基于PowerPC和嵌入式Linux的VPN網(wǎng)關(guān)設(shè)計(jì)

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


cpu / /與MPC8xx硬件關(guān)聯(lián)的系統(tǒng)初始化. c代碼

disk / /磁盤分區(qū)支持

doc / /技術(shù)文檔目錄

examp les / /一些簡(jiǎn)單的、無(wú)需操作系統(tǒng)的應(yīng)用程序

fs / /ppcboot中對(duì)文件系統(tǒng)的支持

include / /頭文件

net / /網(wǎng)絡(luò)協(xié)議支持

ppc PowerPC / /處理器運(yùn)行時(shí)環(huán)境支持

ppcboot / / elf32格式的ppcboot二進(jìn)制執(zhí)行文件

ppcboot. bin / / raw二進(jìn)制格式的ppcboot執(zhí)行文件

ppcboot. map / / s2record格式的ppcboot執(zhí)行文件

rtc / /實(shí)時(shí)時(shí)鐘支持

tools / /與ppcboot相關(guān)的一些工具軟件ppcboot的特點(diǎn)
經(jīng)修改后, ppcboot-1. 1. 5 具有如下特性: ( 1 ) 支持bootm,直接從flash引導(dǎo),并提供軟件工具集,可構(gòu)建出最終燒結(jié)用的影像; (2) 支持從doc或flash memory引導(dǎo),并提供工具集,可構(gòu)建出最終燒結(jié)用的影像; (3) 板上flash /doc讀、寫、擦除功能; (4) 支持串行口kermit協(xié)議下載代碼或數(shù)據(jù); (5) 支持scc1以太網(wǎng)口啟動(dòng)tftp下傳數(shù)據(jù):如內(nèi)核、ramdisk、autoscrip t等影像; ( 6) 支持串行口srecord下載代碼或數(shù)據(jù); (7) 支持autoscrip t; (8) 提供板上內(nèi)存讀寫,格式化顯示,可進(jìn)行簡(jiǎn)單測(cè)試。

當(dāng)完成ppcboot-1. 1. 5的改寫后,對(duì)其進(jìn)行編譯,得到二進(jìn)制的ppcboot. bin代碼,然后將其燒錄在板上的BOOTEPROM中,這樣就可以在上電后完成對(duì)系統(tǒng)的引導(dǎo)。

建立Linux開(kāi)發(fā)平臺(tái)

修改和編譯內(nèi)核

Linux內(nèi)核有自己的結(jié)構(gòu)體系,進(jìn)程管理、內(nèi)存管理和文件系統(tǒng)是其最基本的三個(gè)子系統(tǒng)。圖2 為L(zhǎng) inux 內(nèi)核的結(jié)構(gòu)。圖中虛線框中部分可以看成是Linux內(nèi)核的單內(nèi)核結(jié)構(gòu),因此修改內(nèi)核必須注意各子系統(tǒng)間的協(xié)調(diào)。




Linux開(kāi)發(fā)平臺(tái)使用內(nèi)核版本為2. 4. 4的PowerPCL inux操作系統(tǒng)作為VPN 網(wǎng)關(guān)的基本軟件平臺(tái)。為了支持硬件平臺(tái),需要對(duì)內(nèi)核進(jìn)行修改,并增加相應(yīng)設(shè)備的驅(qū)動(dòng)程序。

(1) 驅(qū)動(dòng)程序列表。

DOC 驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/drivers/mtd /devices/ doc2000. c;

以太網(wǎng)驅(qū)動(dòng)程序源碼: / home / sjw01 / linux/ arch /ppc /8xx _ io / enet_scc1. c fec. c;

RTC 驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/drivers/unis _ rtc / rtc8xx. h rtc8xx. c setrtc8xx. cMkaefile setrtc8xx;

串口驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/ arch /ppc /8xx_ io / uart. c;

flash memory 驅(qū)動(dòng)程序源碼: /home / sjw01 / linux/drivers/mtd / map s/unis. c。

(2) 交叉編譯環(huán)境。

使用hardhat CDK2. 0作為開(kāi)發(fā)工具,需將下面的路徑加入用戶環(huán)境變量$PATH 中: /op t/hardhat/devkit/ppc /8xx/bin; #export PATH = $PATH: /op t/hardhat/devkit/ppc /8xx/bin或編輯“. bash_p rofile”文件的PATH行。對(duì)于應(yīng)用軟件,一般情況下只要替換編譯器cc為ppc_8xx-gcc,重新編譯一下源代碼即可。構(gòu)建目標(biāo)文件系統(tǒng)
配置DOC或FlashMemory中的文件系統(tǒng)是件很講究的事情,主要是因?yàn)镈OC /Flash容量有限,在保證正常功能的前提下,要盡可能地少占用資源。

總體上,文件分成如下幾類: (1)共享庫(kù)類:這類文件必不可少。(2) L inux/GNU系統(tǒng)實(shí)用工具:盡量用busybox、tinylogin代替,能減則減。(3)配置文件:多出現(xiàn)在/ etc下,不太占地方,但要注意協(xié)調(diào)關(guān)系。(4)用戶應(yīng)用程序:編譯時(shí)盡量使用動(dòng)態(tài)連接,編譯后strip一下,放到固定位置。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

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

關(guān)閉