“/home/com_target_master”是根文件系統(tǒng)所在的目錄,“*”允許主機(jī)所在網(wǎng)段所有機(jī)器訪問。和配置TFTP一樣,在系統(tǒng)服務(wù)中啟動(dòng)NFS服務(wù),重新啟動(dòng)系統(tǒng)或運(yùn)行:
#service nfs restart
2.2 目標(biāo)板FLASH資源分配
對(duì)于系統(tǒng)平臺(tái)來說,建立良好的FLASH分區(qū)是系統(tǒng)成功運(yùn)行的基本保證。具體FLASH資源分配如表1所示。
3 嵌入式系統(tǒng)開發(fā)的實(shí)現(xiàn)過程
本文的軟件平臺(tái)是基于電力交換設(shè)備,DPN8000的開發(fā)環(huán)境為模型。搭建軟件層次模型如下:
3.1 Linux系統(tǒng)引導(dǎo)模塊uboot
U-Boot是德國DENX軟件中心依照GPL(General Public License)發(fā)布的系統(tǒng)引導(dǎo)模塊,支持多種處理器,如ARM系列、PowerPC系列、MIP S系列、X86系列等。根據(jù)自己的目標(biāo)系統(tǒng)修改編輯U-Boot包下的源文件,進(jìn)行移植,最后編譯U-Boot后生成二進(jìn)制文件,用于引導(dǎo)系統(tǒng)。
在U-Boot代碼中,主要有關(guān)的代碼設(shè)置在MYM(uboot)\cpu\mpc8260.c的代碼中實(shí)現(xiàn),但是該地址的定義在其平臺(tái)說明頭文件中。故增加一個(gè)mpc8247平臺(tái)——mpc8260ads,在$(u-boot)\include\config目錄下增加一個(gè)相應(yīng)平臺(tái)配置頭文件說明-mpc8260ads.h,將與硬件有關(guān)的配置放在此文件中。對(duì)應(yīng)SDRAM,F(xiàn)LASH等定義如下:
(1)SDRAM的地址設(shè)定
#define CFG_OR1 0xF0002900
#define CFG_PSDMR 0xc4322423
以上定義的為SDRAM的地址設(shè)定,由MPC8247片選CS1相關(guān)的寄存器設(shè)定。
(2)FLASH的地址設(shè)定
#define CFG_FLASH_BASE 0xfe000000
#define CFG_BR0_PRELIM
CFG_FLASH_BASE | 0x00001801
#define CFG_OR0_PRELIM
CFG_FLASH_BASE | 0x000008C2
以上定義的為FLASH的地址設(shè)定,由MPC8247片選CS0相關(guān)的寄存器設(shè)定。
(3)FPGA地址設(shè)定
#define CFG_FPGA_BASE 0xF4500000
#define CFG_BR3_PRELIM CFG_FPGA_BASE| 0x00001801
#define CFG_OR3_PRELIM 0xFFFF8010
以上定義的為FPGA的地址設(shè)定,由MPC8247片選CS0相關(guān)的寄存器設(shè)定。
修改完成后,通過make得到u-boot.bin文件。
3.2 Linux內(nèi)核的移植
由于嵌入式系統(tǒng)存儲(chǔ)資源有限,精簡(jiǎn)內(nèi)核就顯得尤為重要。建立系統(tǒng)的新內(nèi)核,最主要的工作就是配置內(nèi)核參數(shù)配置內(nèi)核文件,進(jìn)入內(nèi)核釋放的目錄下執(zhí)行命令:#make menuconfig會(huì)生成新的.config文件。然后執(zhí)行#make uImage,生成新的uImage,將生成的內(nèi)核拷貝到tf tp目錄下即可。
使用tftp將內(nèi)核鏡像文件下載到目標(biāo)板上,重新引導(dǎo)后,目標(biāo)板即可成功啟動(dòng)。
3.3 文件系統(tǒng)的制作
將得到Busybox版本進(jìn)行解壓,配置和編譯就可以得到想要的文件系統(tǒng)。具體命令如下:
下載一個(gè)busybox-1.1.3.tar.gz
#tar xvzf busybox-1.1.3.tar.gz
#cd busybox-1.1.3
#make defeonfig
#make menuconfig
Busybox編譯出一個(gè)單個(gè)的獨(dú)立執(zhí)行程序,就稱為Busybox,它集成了非常多的命令工具,如果要使用某一命令,需要做一個(gè)軟鏈接就可以了。在這個(gè)項(xiàng)目中,采用busybox來配置所需各類文件,具體方法參見busybox的手冊(cè)。
3.4 SDK的移植過程
將拿到的sdk-xgs-robo-5.6.2.tar.gz的源碼文件解壓到/home/corn_work/目錄下:
#ed/home/com_work
#tar-zxvf sdk-xgs-robo-5.6.2.tar.gz
3.4.1 設(shè)置環(huán)境變量
設(shè)置環(huán)境變量如下:
#export SDK=/home/com_work/sdk-xgs-robo-5.6.2
這樣SDK的環(huán)境路徑已經(jīng)設(shè)好,進(jìn)入make目錄下,修改對(duì)應(yīng)的Makefile.linux-bmw和Make.LOCal文件,使這2個(gè)文件對(duì)應(yīng)的內(nèi)核,編譯器路徑和交換芯片類型是所需要的類型。
3.4.2 編譯SDK
如果想重編譯SDK,只需進(jìn)入:/home/eom_work/sdk-xgs-robo-5.6.2/systEMS/linux/kernel/bmw目錄下,執(zhí)行#make clea n;make將生成的模塊拷貝到對(duì)應(yīng)文件系統(tǒng)的對(duì)應(yīng)的目錄下即可。
生成的模塊如表2所示。
然后將用到的模塊加載。執(zhí)行過程如下:
#insmod linux-kernel-bde.o-f
#insmod linux-uk-proxy.o-f
#insmod linux-bcm-diag-full.o-f
#./bcm.user.proxy
3.5 ZebOS的移植過程
將拿到的ZebOS771.tar. gz的源碼文件解壓到/home/corn_work/目錄下:
#cd/home/com
#cd/home/com_work
#tar-zxvf ZebOS771.tar.gz
3.5.1 建立環(huán)境變量
進(jìn)入zebos目錄下:
#cd/home/com_work/ZebOS771
建立set_export.sh文件源碼如下:
m.JPG
修改完set_export.sh文件,執(zhí)行:#source set_export.sh即可。
3.5.2 修改配置文件編譯ZebOS
進(jìn)入ZebOS目錄下,主要修改的文件是config.sh,修改好自己要編譯的模塊,執(zhí)行:#.config. sh進(jìn)入platform/linux目錄下:#cd platform/linux
#make clean;make all就好了。將platform/linux/bin目錄下生成的bin文件拷貝到文件系統(tǒng)對(duì)應(yīng)目錄下,這樣,就完成了整個(gè)系統(tǒng)的開發(fā)搭建。
4 結(jié)語
基于MPC8247嵌入式電力交換系統(tǒng)的設(shè)計(jì),具有體積小、功耗低、性能高,豐富的應(yīng)用接口等優(yōu)點(diǎn),隨著大容量電力光交換設(shè)備DPN8000的現(xiàn)場(chǎng)應(yīng)用,證實(shí)該系統(tǒng)充分發(fā)揮了對(duì)網(wǎng)絡(luò)和配電等設(shè)備的 強(qiáng)大支持功能。該平臺(tái)系統(tǒng)在變電站工作環(huán)境比較惡劣的條件下有較好的適應(yīng)性和強(qiáng)大的通信能力,提供了更高的轉(zhuǎn)發(fā)速率,更大的吞吐率和更好的包處理能力,充分體現(xiàn)了其優(yōu)異的性能。
評(píng)論