玩轉賽靈思Zedboard開發板(1):ZedBoard詳解
玩轉賽靈思Zedboard開發板(2):ZedBoard最簡單的測試工程
玩轉賽靈思Zedboard開發板(3):基於Zynq PL的流水燈
玩轉賽靈思Zedboard開發板(4):如何使用自帶外設IP讓ARM PS訪問FPGA?
玩轉賽靈思Zedboard開發板(5):基於AXI Lite 總線的從設備IP設計
從本小節開始,講著重介紹Zedboard上的嵌入式linux應用,包括使用SDK設計最簡單的linux應用程序、linux交叉編譯環境搭建、設備驅動編寫等內容。本小節使用的linux系統是Digilent官方提供的OOB設計,它是Digilent官網給出的壹個完整的、Zedboard可運行的linux 系統,包含了Zedboard上的幾個重要的設備驅動如串口、USB、以太網、OLED、HDMI等。當linux在Zedboard上運行起來後,Zedboard就是壹個小型的嵌入式系統,使用SDK及Xilinx ARM Linux工具鏈編譯生成的可執行文件可以在這個系統執行。
硬件平臺:Digilent ZedBoard;開發環境:Windows XP 32 bit;軟件: SDK 14.2。
壹、獲取Zedboard可運行的linux
Digilent官網給出Zedboard的可運行linux設計ZedBoard_OOB_Design包,可從/Data/Documents/Other/ZedBoard_OOB_Design.zip獲取,下載後解壓,可以看到包的結構和內容:
boot_image目錄:
-- system.bit – 配置FPGA的bit文件
-- u-boot.elf – 引導linux需要的Second-Stage boot loader
-- zynq_fsbl.elf – 配置ARM PS系統的First-Stage boot loader(FSBL)
doc目錄:
-- README.txt – 說明文件
hw目錄:
-- EDK 14.1版本的XPS工程,用來生成硬件文件和bit文件
linux目錄:
-- devicetree_ramdisk.dts – 設備樹源代碼
-- .config – Linux內核配置文件,用來生成zImage
sd_image目錄:
-- BOOT.BIN – 使用boot_images中的三個文件生成的Zynq配置文件
-- devicetree_ramdisk.dtb – 編譯後的設備樹文件
-- ramdisk8M.image.gz – 編譯後的文件系統
-- README – 介紹如何運行OOB設計的說明文檔
-- zImage – 編譯後的內核
sw目錄:
--硬件配置
--FSBL源代碼
其中sd_image目錄中包含了ZedBoard上能夠運行linux的所有文件。將SD卡格式化為Fat32,把sd_image目錄文件拷貝到SD 卡根目錄下;然後將JP7~JP11設置為SD卡啟動模式,將JP2短路,JP3斷開,這樣可以下壹步我們可以把U盤作為USB 從設備掛載到Zedboard上。
圖 Zedboard的連接和短路塊設置
上電後,等待ARM PS的配置、FPGA的配置(藍色LED DONE 亮起),之後開始引導Linux系統了。可以從超級終端上看到壹系列的引導信息:
1 U-Boot 2012.04.01-00297-gc319bf9-dirty (Sep 13 2012 - 09:30:49)
2
3 DRAM: 512 MiB
4 WARNING: Caches not enabled
5 MMC: SDHCI: 0
6 Using default environment