電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 1989|回復(fù): 0
收起左側(cè)

TLZ7x-EasyEVM開發(fā)板XC7Z020基于SD卡啟動裸機(jī)程序

[復(fù)制鏈接]

678

主題

902

帖子

8293

積分

高級會員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-24 15:49:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
開發(fā)環(huán)境說明
表 1
開發(fā)板型號
是否支持本實(shí)驗(yàn)
TLZ7x-EasyEVM
支持
TLZ7xH-EVM
支持

本文以TLZ7x-EasyEVM開發(fā)板為例,核心板SoC芯片型號為XC7Z020,演示使用SD卡啟動Zynq裸機(jī)程序的方法。
基于SD卡啟動的裸機(jī)程序主要包含兩類,一是ARM(PS端)+FPGA(PL端)的All-Programmable-SoC-demos例程,二是純PS(不依賴PL端)的Baremetal(NoOS)裸機(jī)例程。兩類裸機(jī)程序的運(yùn)行都需要依賴FSBL的BOOT.BIN文件和U-Boot的u-boot.bin文件引導(dǎo),主要區(qū)別在于Baremetal(NoOS)裸機(jī)例程不包含PL端xxx.bin程序。
從SD卡啟動SoC裸機(jī)程序說明分別參照《基于TcL腳本生成Vivado工程及編譯》、《基于TcL腳本生成xsdk工程及編譯》文檔,編譯All-Programmable-SoC-demos例程。
將SD存儲卡格式化為FAT32格式,或者直接使用SD系統(tǒng)啟動卡的boot分區(qū),SD系統(tǒng)啟動卡boot分區(qū)即為FAT32格式。將PS端的xxx.elf程序和PL端xxx.bin程序復(fù)制到SD卡,另外將BOOT.BIN和u-boot.bin兩個(gè)文件也添加復(fù)制到SD卡。
以光盤"All-Programmable-SoC-demos\tl-axi-gpio-led-demo"例程為例,PS端程序?yàn)?quot;tl-axi-gpio-led-demo\sw\axi_gpio_baremetal_demo\bin\axi_gpio.elf",PL端程序?yàn)?quot;tl-axi-gpio-led-demo\hw\bin\axi_gpio_xc7z020.bin"。

表 2
對應(yīng)文件名
職責(zé)說明
FSBL\image\embeddedsw-[Git系列號]-[版本號\BOOT.BIN
初始化DDR等外設(shè),加載U-Boot鏡像文件
U-Boot\U-Boot-2017.01\image\u-boot.bin
加載運(yùn)行裸機(jī)程序
xxx.elf
PS端裸機(jī)程序
xxx.bin
PL端程序,SoC例程依賴此文件
​

圖 1

設(shè)置u-boot環(huán)境變量將開發(fā)板撥碼開關(guān)撥到101001(1~6),此模式為SD卡啟動模式。開發(fā)板上電啟動,快速按任意鍵進(jìn)入U(xiǎn)-Boot命令行修改環(huán)境變量。
​

圖 2

在U-Boot命令行下執(zhí)行如下指令,設(shè)置需要加載的PL端xxx.bin程序,PL端程序名應(yīng)根據(jù)實(shí)際情況修改,如果是Baremetal(NoOS)例程則無需執(zhí)行此命令。
Uboot# setenv bitstream_image axi_gpio_xc7z020.bin
執(zhí)行如下指令,設(shè)置需要加載的PS端xxx.elf程序,PS端程序名應(yīng)根據(jù)實(shí)際情況修改。
Uboot# setenv app_image axi_gpio.elf
執(zhí)行如下指令設(shè)置啟動方式為appboot,并保存設(shè)置好的環(huán)境變量。
Uboot# setenv sdboot 'run appboot'
Uboot# saveenv
​

圖 3


從SD卡啟動裸機(jī)程序開發(fā)板斷電,重新上電啟動后,調(diào)試終端打印信息如下圖所示。打印"## Starting application at 0x00100000 ..."信息后,開發(fā)板開始運(yùn)行裸機(jī)程序。本次操作運(yùn)行的是tl-axi-gpio-led-demo的裸機(jī)程序,運(yùn)行程序后會打印"AXI GPIO TEST",并且可以看到底板的LED2在閃爍。
​

圖 4

恢復(fù)U-Boot環(huán)境變量經(jīng)過前面步驟修改過環(huán)境變量后,U-Boot啟動時(shí)將會讀取相應(yīng)的裸機(jī)程序。如需正常啟動Linux系統(tǒng),在U-Boot命令行下執(zhí)行如下指令恢復(fù)默認(rèn)的環(huán)境變量。
Uboot# env default -a
Uboot# saveenv
​

圖 5

嵌入式DSP、ARM、FPGA多核技術(shù)開發(fā),學(xué)習(xí)資料下載:http://site.tronlong.com/pfdownload

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表