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

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

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

基于SD卡啟動裸機(jī)程序

[復(fù)制鏈接]

678

主題

902

帖子

8293

積分

高級會員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-6-24 15:20:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
開發(fā)環(huán)境說明

表 1
開發(fā)板型號
是否支持本實驗
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ī)程序的運行都需要依賴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兩個文件也添加復(fù)制到SD卡。
以光盤"All-Programmable-SoC-demos\tl-axi-gpio-led-demo"例程為例,PS端程序為"tl-axi-gpio-led-demo\sw\axi_gpio_baremetal_demo\bin\axi_gpio.elf",PL端程序為"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
加載運行裸機(jī)程序
xxx.elf
PS端裸機(jī)程序
xxx.bin
PL端程序,SoC例程依賴此文件


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

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


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


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




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

使用道具 舉報

1

主題

1224

帖子

5701

積分

四級會員

Rank: 4

積分
5701
沙發(fā)
發(fā)表于 2020-6-24 21:35:22 | 只看該作者
頂起………………
回復(fù) 支持 反對

使用道具 舉報

板凳
發(fā)表于 2020-6-26 11:06:32 | 只看該作者
謝謝分享基于SD卡啟動裸機(jī)程序
回復(fù) 支持 反對

使用道具 舉報

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

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

本版積分規(guī)則


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