MicroBlaze處理器的PetaLinux操作系統移植
引言
隨著(zhù)FPGA(Field Prograromable Gate Array,現場(chǎng)可編程門(mén)陣列)技術(shù)的迅速發(fā)展,SOPC(Systam On a Prograromable Chip,可編程片上系統)作為一種特殊的嵌入式微處理器系統,已逐漸成為一個(gè)新興的技術(shù)方向。SOPC融合了SoC和FPGA各自的優(yōu)點(diǎn),并具備軟硬件在系統可編程、可裁減、可擴充、可升級的功能。其核心是在FPGA上實(shí)現的嵌入式微處理器核,而如何針對特定的微處理器選擇合適的嵌入式操作系統是SOPC開(kāi)發(fā)的難點(diǎn)之一。本文針對Xilinx公司的MicroBlaze軟核,介紹了PetaLinux嵌入式操作系統及其移植方法,研究了PetaLinux的相關(guān)配置和啟動(dòng)方案。
1 基于MicroBlaze處理器的系統設計
1.1 MicroBlaze處理器簡(jiǎn)介
MicroBlaze軟核處理器是一種針對Xilinx FPGA器件而優(yōu)化的功能強大的微處理器。它內部采用RISC架構的32位指令和數據總線(xiàn),支持CoreConnect片上總線(xiàn)的標準外設計集合,具有兼容性和重復利用性,且可根據性能需求和邏輯區域成本任意裁減,極大地擴展了應用范圍,其最精簡(jiǎn)的核只需要將近400個(gè)Slice。
MicroBlaze的CoreConnect總線(xiàn)、它能夠將FPGA內各種不同的IP核連接到一起構成一個(gè)完整的系統。CoreConnect總線(xiàn)是一個(gè)總線(xiàn)標準的集合,它包括PLB總線(xiàn)(Processor Local Bus,處理器本地總線(xiàn)),LMB總線(xiàn)(Local Memory Bus,高速本地存儲器總線(xiàn)),FSL(Fast Simplex Link,快速單連接)總線(xiàn),以及XCL(Xilinx CacheLink)總線(xiàn)等。
1.2 系統結構和外部設備概述
本系統主要是在Virtex-4開(kāi)發(fā)板上構建一個(gè)以MicroBlaze處理器為中心的嵌入式信號處理系統,在FPGA內部實(shí)現系統的總線(xiàn)架構、數據存儲、地址譯碼、外設接口等系統部件和功能。各功能部件在FPGA內部都以IP核的形式構建并連接,整個(gè)系統的結構框圖如圖1所示。
其中,SysACE用于存放文件系統和應用程序配置文件,INTC用來(lái)實(shí)現中斷控制;GPIO和UART 16550用于系統調試,自定義IP核DDC用來(lái)實(shí)現數字接收機下變頻功能,這些外設通過(guò)PLB總線(xiàn)與MicroBlaze處理器和DDR相連;用于快速傅里葉變換的自定義IP核FFT通過(guò)FSL總線(xiàn)與Micr-oBlaze內部通用寄存器直接相連,實(shí)現了數據的快速傳輸;DDR通過(guò)XCL總線(xiàn)與MicroBlaze處理器相連,實(shí)現了MicroBlaze處理器對片外存儲器的高速訪(fǎng)問(wèn)。
1.3 嵌入式操作系統的選擇
選用PetaLinux嵌入式操作系統。它是PetaLogix公司專(zhuān)門(mén)針對FPGA的片上系統設計的嵌入式Linux開(kāi)發(fā)套件,在滿(mǎn)足應用工程的邏輯編程能力和對嵌入式Linux要求的同時(shí),可極大地縮短產(chǎn)品開(kāi)發(fā)周期。PetaLinux作為專(zhuān)門(mén)針對于Xilinx FPGA的嵌入式Linux解決方案,不但提供了專(zhuān)門(mén)的BSP生成器,而且提供了眾多的參考設計,可以幫助設計者快速掌握PetaLinux的配置方法。PelaLinux內核正在不斷的完善之中,且不斷地加入基于Xilinx FPGA嵌入式系統IP核的設備驅動(dòng),比如XilinxUSB、SysACE、FSL總線(xiàn)設備驅動(dòng)、10/100/1000M三態(tài)以太網(wǎng)MAC等。這些設備驅動(dòng)極大地減輕了嵌入式系統開(kāi)發(fā)者的工作量,縮短了產(chǎn)品開(kāi)發(fā)的周期。
2 PetaLinux系統移植
在SOPC硬件系統構建完成后,就要針對此結構配置操作系統內核,下面介紹具體步驟。
2.1 建立交叉編譯環(huán)境
嵌入式系統開(kāi)發(fā)一般采用交叉編譯的方法,即在宿主機上對內核和應用程序進(jìn)行編譯,生成目標機處理器可執行的二進(jìn)制位流文件,將此文件下載到目標機運行。PetaLinux針對MicroBlaze處理器建立了交叉編譯器,運行source./settings.sh腳本,系統會(huì )自動(dòng)建立交叉環(huán)境。
評論