ZYNQ 的程序固化是指將程序代碼永久存儲(chǔ)到非易失性存儲(chǔ)器中,使系統(tǒng)上電后能自動(dòng)加載運(yùn)行的過程。主要固化方式:QSPI Flash固化:常用方式,容量小,如啟動(dòng)代碼、FPGA 配置。NAND Flash固化:適合大容量程序存儲(chǔ),如文件系統(tǒng)。SD卡固化:方便更新,適合開發(fā)階段。
1 VIVADO
創(chuàng)建block design,添加ps ip。使能QSPI外設(shè),其他不需要的外設(shè)或者引腳可以取消勾選。


運(yùn)行block automation,校驗(yàn)。

對剛才配置好的PS生成HDL wrapper。

修改打包的頂層文件,將PL部分實(shí)現(xiàn)的頂層設(shè)計(jì)作為一個(gè)模塊實(shí)例化到Wrapper里,線網(wǎng)同名調(diào)用即可。

生成比特流,導(dǎo)出硬件(xsa格式的文件)。

2 VITIS
啟動(dòng)vitis IDE,創(chuàng)建app project。有三個(gè)創(chuàng)建project選項(xiàng)。platform project是一個(gè)工程的平臺(tái)工程,通過xsa文件生成,也就是你在vivado里設(shè)計(jì)的工程,它在vitis里作為一個(gè)平臺(tái),其上搭建application project。選擇application project,如果沒有platform的話,軟件會(huì)引導(dǎo)你生成platform。選擇platform project的話,會(huì)先創(chuàng)建platform,然后再手動(dòng)創(chuàng)建application project。也就是說,我們在vitis里的工程,就是application project,而我們又必須使用xsa文件生成一個(gè)硬件平臺(tái)承載application project。這就是兩個(gè)工程的區(qū)別和聯(lián)系。

選擇vivado中導(dǎo)出的硬件xsa文件,勾選啟動(dòng)部件。

注意這里的app project名稱不要直接寫fsbl。因?yàn)闀?huì)生成

保持默認(rèn)。

選擇FSBL模板。

右擊xxx_system,Build project。

Create boot image。創(chuàng)建一個(gè)名為output的文件夾用于存放啟動(dòng)文件:output.bif和BOOT.bin。制作啟動(dòng)鏡像需要添加3個(gè)源文件:fsbl作為bootloader,比特流文件bit和頂層可執(zhí)行文件elf作為data partition。

燒錄到flash。

如果是第一次燒錄,直接把跳帽偏置在QSPI即可,否則會(huì)出現(xiàn)初始化失敗錯(cuò)誤。如果flash已經(jīng)燒錄了一個(gè)版本,需要將跳帽偏置在JTAG,然后燒錄,否則也會(huì)報(bào)錯(cuò)。燒錄結(jié)束后再把跳帽放會(huì)QSPI。


-
FPGA
+關(guān)注
關(guān)注
1664文章
22509瀏覽量
639518 -
FlaSh
+關(guān)注
關(guān)注
10文章
1761瀏覽量
155947 -
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7758瀏覽量
172268 -
Vivado
+關(guān)注
關(guān)注
19文章
860瀏覽量
71425
原文標(biāo)題:Vivado+Vitis將程序固化的Flash的操作流程
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
使用AMD Vitis Unified IDE創(chuàng)建HLS組件
如何在Vitis中把設(shè)置信息傳遞到底層的Vivado
vivado固化flash失敗
Flash程序是如何去實(shí)現(xiàn)自動(dòng)加載固化的呢
【KV260視覺入門套件試用體驗(yàn)】+02.開發(fā)環(huán)境安裝Vitis/Vivado(zmj)
基于Vivado下固化FLASH的壓縮和提高加載速度
Vivado HLS和Vitis HLS 兩者之間有什么區(qū)別
Vitis初探—1.將設(shè)計(jì)從SDSoC/Vivado HLS遷移到Vitis上
如何基于Vitis中把設(shè)置信息傳遞到底層的Vivado
Vitis HLS工具簡介及設(shè)計(jì)流程
如何在Vitis中把設(shè)置信息傳遞到底層的Vivado
Vivado+Vitis將程序固化的Flash的操作流程
評論