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


運行block automation,校驗。

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

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

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

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

選擇vivado中導出的硬件xsa文件,勾選啟動部件。

注意這里的app project名稱不要直接寫fsbl。因為會生成

保持默認。

選擇FSBL模板。

右擊xxx_system,Build project。

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

燒錄到flash。

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


-
FPGA
+關注
關注
1660文章
22406瀏覽量
636077 -
FlaSh
+關注
關注
10文章
1747瀏覽量
155485 -
存儲器
+關注
關注
39文章
7737瀏覽量
171633 -
Vivado
+關注
關注
19文章
857瀏覽量
71094
原文標題:Vivado+Vitis將程序固化的Flash的操作流程
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
使用AMD Vitis Unified IDE創(chuàng)建HLS組件
vivado固化flash失敗
Vivado固化flash失敗
【KV260視覺入門套件試用體驗】+02.開發(fā)環(huán)境安裝Vitis/Vivado(zmj)
基于Vivado下固化FLASH的壓縮和提高加載速度
Vivado HLS和Vitis HLS 兩者之間有什么區(qū)別
Vitis初探—1.將設計從SDSoC/Vivado HLS遷移到Vitis上
如何基于Vitis中把設置信息傳遞到底層的Vivado
Vitis HLS工具簡介及設計流程
如何在Vitis中把設置信息傳遞到底層的Vivado
Vivado+Vitis將程序固化的Flash的操作流程
評論