2025 / 1 / 6
尼玛Bibabo坏事做尽,2024.1的Vitis有BUG,整个固化流程全网都找不到新版的流程。旧版教程对应过来的各种按键和设置都变了……
准备环境
你至少得有一块可选启动方式的ZYNQ板子吧(这里以7020为例
如果你要固化到TF卡,那你得准备一个,格式化为FAT32格式
你至少得装了Vitis2024.2吧(安装界面在选ML Enterprise上一个界面选Vitis,不要选VIvado,否则Vitis只能启动界面无法创立工程(那你给我启动干嘛……
固化流程
QSPI 和TF卡固化流程基本类似,这里一起说
1-(省流小助手)创建一个流水灯工程,能正常综合bit下载运行
2-创建一个BD,例化一个ZYNQ
3-在BD ZYNQ的设置中将MIO中的QSPI FLASH按你的板子设置;如果你是TF卡按你板子TF卡接到MIO哪儿了设置。最后,DDR设置按你的板子来
4-将BD Auto一下(自动连线,我这里去掉了一个AXI,用不上
5-导出BD Wrapper
6-在原工程例化该BD(可以只要名字 top top_m0(); 这样,不用连信号
7-File->Export->Export Hardwre(用到PL部分就得include bitsteam)得到.xsa文件
8-Vitis!启动!先把Workspace定到工程位置(你为什么不自动定位!
9-Create Platform Component,一路点点,就第二个界面选XSA的时候选刚刚导出的,OS选默认Standalone,别瞎改,Finish
10-打开设置,把这俩点上,不然创不了APP,然后左下角点一下Build
11-再从Example选择ZYNQ FSBL创一个,第二个界面就可以看到刚刚创的Platform,如果第三个界面报错Invalid Template了,点一下+Creat new,再点回Standalone_ps7,就好了(不会自动刷新是吧,笨,如果还是报,你是不是上一步忘了Build了?
12-然后给这个app build
13-完成后接着点Build下的Creat Boot Image,设置一下输出文件路径就行
14-如果你是就QSPI,主菜单Vitis->Program Flash,Image选刚刚导出的BIN文件,Init文件选Build出来的elf文件,启动~;如果你是TF卡,就把这个BIN文件拷到卡里,插到板子上
15-完成后将启动开关切到QSPI,重新上电自动运行;TF卡的话,同样切启动开关到TF模式,重新上电运行
可能的问题
1-固化成功,但上电无法启动:有可能有软件如Vivado自动连接JTAG接管了,把Hardware close了再试试,或者直接拔JTAG再上电(其他A7等板子也会有这个问题
2-报警告,FPGA MODE 处于 QSPI:字面意思,先取消固化,把开关调到JTAG,再上电,固化就不会报了
版本更新
250106:初始版本
250108:增加TF固化注释