測試運行在設備上的PetaLinux
下面介紹PetaLinux的引導方式。MicroBlaze處理器可處理駐留在Block RAM中的代碼。第一階段的引導載入程序(fs-boot)將初始化基本硬件、執行fs-boot.elf、搜索通用引導載入程序或U-Boot、在閃存分區中進行尋址(因為U-Boot的地址已在配置fs-boot時設定)。隨后,fs-boot將從閃存中的U-Boot分區中獲取U-Boot映像,將其發送到設備的DDR3存儲器并運行內核。一旦構建好所有引導所需的映像后,您就可以通過JTAG、以太網或快速仿真器在硬件上測試這些映像了。QEMU是一種仿真器和虛擬機,允許您運行PetaLinux操作系統[9]。下面討論所有這三種解決方案的引導方法。
JTAG是編程和測試FPGA設計的傳統方法。為使用JTAG對FPGA進行編程,我們使用了下拉菜單“Xilinx Tool → Program the FPGA”并下載了之前生成的download.bit文件。隨后我們使用GUI(PetaLinux SDK → BOOT JTAG [Li-nux])將映像下載到了電路板上,如圖2所示。您也可以在Linux終端上使用下列命令:
$ cd/opt/PetaLinux _v12.12/software/ PetaLinux-dist
$ PetaLinux-jtag-boot -i images/image.elf
此外,您還可使用U-Boot執行間接內核引導,從而引導PetaLinux。系統首先使用GUI(PetaLinux SDK → BOOT JTAG [U-Boot])或以下命令通過JTAG接口下載U-Boot來進行引導。
$ cd $PETALINUX/software/ PetaLinux-dist
$ PetaLinux-jtag-boot -i images/u -boot.elf
圖6是U-Boot控制臺的快照。
值得注意的是,FPGA電路板連接的是以太網接口。您必須在XPS的硬件資源部分選擇以太網接口。一旦U-Boot引導成功,就要檢查服務器和主機的IP地址是否相同。如果IP地址不同,請在U-Boot終端上使用下列命令設置主機IP。
u-boot》print serverip // prints 192.168.25.45(server ip)
u-boot》print ipaddr // prints IP address
of the board as // 192.168.25.68
u-boot》set serverip // Host IP 192.168.25.68
u-boot》set serverip 192.168.25.68192.168.25.68
現在服務器(PC)和主機(KC705電路板)具有相同的IP地址。請通過服務器運行網絡引導命令,下載PetaLinux映像和引導程序:
u-boot》 run netboot
運行網絡引導命令后,您應該能夠看到PetaLinux控制臺,如圖5所示。
最后您可使用GUI(PetaLinux SDK → BOOT QEMU [Linux])或以下命令執行內核引導,這也很重要。
$ cd $ PETALINUX/software/ PetaLinux-dist $ PetaLinux-qemu-boot -i images/image.elf
使用這種快速方法,我們將看到圖7所示信息。
測試運行在設計上的應用
完成PetaLinux引導的測試后,接下來就是測試專為PetaLinux設計的用戶應用。MicroBlaze處理器將Kintex-7 FPGA電路板上的硬件外設視為一組存儲寄存器。每個寄存器都有自己的基址和結束地址。要訪問一個外設,用戶必須知道它的基
圖5:確認操作系統引導成功的PetaLinux控制臺快照
圖6:通過通用引導載入程序(U-Boot)進行的間接內核引導
址和結束地址。您可以在設備樹源(*.dts)文件中找到有關地址的詳細信息。就本設計而言,我們開發并測試了四款應用,分別是訪問DDR3、使用/dev/mem訪問GPIO、使用UIO訪問GPIO和文件傳輸。
評論
查看更多