選用PetaLinux嵌入式操作系統(tǒng)。它是PetaLogix公司專門針對FPGA的片上系統(tǒng)設(shè)計的嵌入式Linux開發(fā)套件,在滿足應(yīng)用工程的邏輯編程能力和對嵌入式Linux要求的同時,可極大地縮短產(chǎn)品開發(fā)周期。PetaLinux作為專門針對于Xilinx FPGA的嵌入式Linux解決方案,不但提供了專門的BSP生成器,而且提供了眾多的參考設(shè)計,可以幫助設(shè)計者快速掌握PetaLinux的配置方法。PelaLinux內(nèi)核正在不斷的完善之中,且不斷地加入基于Xilinx FPGA嵌入式系統(tǒng)IP核的設(shè)備驅(qū)動,比如XilinxUSB、SysACE、FSL總線設(shè)備驅(qū)動、10/100/1000M三態(tài)以太網(wǎng)MAC等。這些設(shè)備驅(qū)動極大地減輕了嵌入式系統(tǒng)開發(fā)者的工作量,縮短了產(chǎn)品開發(fā)的周期。
2 PetaLinux系統(tǒng)移植
在SOPC硬件系統(tǒng)構(gòu)建完成后,就要針對此結(jié)構(gòu)配置操作系統(tǒng)內(nèi)核,下面介紹具體步驟。
2.1 建立交叉編譯環(huán)境
嵌入式系統(tǒng)開發(fā)一般采用交叉編譯的方法,即在宿主機上對內(nèi)核和應(yīng)用程序進行編譯,生成目標機處理器可執(zhí)行的二進制位流文件,將此文件下載到目標機運行。PetaLinux針對MicroBlaze處理器建立了交叉編譯器,運行source./settings.sh腳本,系統(tǒng)會自動建立交叉環(huán)境。
2.2 建立硬件平臺
PetaLinux為每個應(yīng)用工程建立一個文件夾,里面保存該工程的硬件配置。在移植PetaLinux時,只需選擇相應(yīng)的硬件平臺,內(nèi)核就會讀取該工程文件夾下的配置文件。使用PetaLinux-new-platform命令建立硬件平臺,如果使用MMU(虛擬內(nèi)存管理單元),則在此命令后添加-m選項。硬件平臺建立起來后,運行make menuconfig命令,在Vendor/Product Seletion選項中,選擇該硬件平臺。
另外,還需將在EDK下生成的配置文件轉(zhuǎn)換成Linux操作系統(tǒng)可以識別的格式。在工程文件夾下運行PetaLinux-copy-autoconfig命令,自動完成格式轉(zhuǎn)換,并拷貝配置文件到已選擇的工程文件夾下。
2.3 添加自定義設(shè)備驅(qū)動
本系統(tǒng)自定義了IP核,因此必須開發(fā)驅(qū)動程序并將其添加到PetaLinux配置中。添加自定義設(shè)備驅(qū)動主要步驟如下:
?、僭谄脚_配置目錄下Makefile文件中添加語句platobj-$(CONFIG_PETALOGIX_DDC)+=ddc.o和$(obj)/ddc.o:.config使設(shè)備初始化函數(shù)ddc.C與內(nèi)核配置相關(guān)聯(lián);
?、谠隍?qū)動程序所在目錄下的Makefile文件中添加obj-$(CONFIG_PETALOGIX_DDC)+=ddc_adapter.o使設(shè)備驅(qū)動程序ddc_adapter.c與內(nèi)核配置相關(guān)聯(lián);
?、坌薷脑O(shè)備驅(qū)動程序所在目錄下的Kconfig文件,使配置內(nèi)核時可以選擇該設(shè)備驅(qū)動,并添加以下語句:

?
通過以上文件的修改,就可以在配置PetaLinux內(nèi)核時選擇自定義的設(shè)備驅(qū)動。
2.4 配置PetaLinux內(nèi)核
由于Linux內(nèi)核的可裁減性,能夠方便地對內(nèi)核進行修改、裁減、編譯,最終移植到一個嵌入式系統(tǒng)中。運行圖形編輯工具make menuc-onfig命令,對內(nèi)核和系統(tǒng)環(huán)境進行配置。
在內(nèi)核配置的設(shè)備驅(qū)動選項中,一定要選擇與系統(tǒng)硬件配置一致的硬件設(shè)備驅(qū)動,否則內(nèi)核編譯時就會出錯。針對本系統(tǒng)的硬件配置,主要配置以下幾項驅(qū)動:
?、賉Block devices]塊設(shè)備。選擇Xilinx SystemACEsupport。
?、赱Misc device]混雜設(shè)備。選擇FSL FIFO driver,然后進入FSL Channel Selection,選擇FIFO on FSLO,并選擇自添加設(shè)備驅(qū)動Pet-aLogix DDC101 Driver。
?、踇Network device support]網(wǎng)絡(luò)設(shè)備。選擇Ethernet(1000Mbit)子菜單中的Xilinx 10/100/1000 LLTEMAC support。
?、躘Character devices]字符設(shè)備。選擇Serial drivers子菜單中的8250/16550 and compatible serial support和Console on 8250/16550 and compatible serial port。
文件系統(tǒng)選項中,默認選擇了ext2、romfs和cramfs文件系統(tǒng),其他文件系統(tǒng)可以根據(jù)需要自行選擇。本系統(tǒng)需要掛載DOS文件系統(tǒng)的CF卡,因此進行以下配置:
?、賉DOS/FAT/NT Filesystems]。選擇MSDOS fssupport。
②[Native Language Support]。選擇Codepage 437(United States,Canada)。
內(nèi)核配置中的其他配置可以根據(jù)目標系統(tǒng)的不同靈活配置,配置完成后保存退出,自動進入系統(tǒng)環(huán)境配置菜單。系統(tǒng)環(huán)境配置是對Peta-Linux的屬性、命令進行配置,主要有以下幾個選項:
?、賉System Settings]系統(tǒng)設(shè)置。配置系統(tǒng)的網(wǎng)絡(luò)地址、默認用戶名、默認登陸密碼和所用根文件系統(tǒng)等內(nèi)容。
?、贑ore Applications]內(nèi)核應(yīng)用。主要配置內(nèi)核的常用特性。
?、踇Network Applications]網(wǎng)絡(luò)應(yīng)用。配置網(wǎng)絡(luò)應(yīng)用時的相關(guān)命令。
?、躘Miscellaneous Applications]混雜應(yīng)用。配置系統(tǒng)內(nèi)核中的命令。
?、輀BusyBox]。配置系統(tǒng)內(nèi)核中的命令。
PetaLinux已經(jīng)設(shè)置好了編譯規(guī)則,因此配置完成后,依次執(zhí)行命令make dep、make clean、make all,建立文件依賴關(guān)系,清除舊的文件,編譯內(nèi)核,生成內(nèi)核image。
評論