vivado用JTAG固化PL+PS程序方法

本文详细介绍了如何在Vivado2017.3及以后版本中,针对Zynq-7000和ZynqUltraScale+平台,通过JTAG对PL+PS程序进行QSPIFLASH固化,包括配置QSPI端口、创建BootImage和fsbl_load程序,以及正确设置BootModeRegister。
摘要由CSDN通过智能技术生成

vivado用JTAG固化PL+PS程序方法
VIVADO从2017.3版本开始,Xilinx官方为了使Zynq-7000和Zynq UltraScale +实现流程相同,在QSPI FLASH使用上做了变化,即Zynq-7000编程flash需要“指定的fsbl”。因为在QSPI引导模式下启动,则“指定的fsbl”将尝试从flash加载分区,从而导致flash编程的错误行为。导致不能下载flash或下载flash后不能启动。
1、在vivado中的ZYNQ配置当中添加QSPI端口,如图1所示配置,其它的逻辑文件不变,保存进行SYNTHESIS、IMPLEMENTATION和Generate Bitstream。
在这里插入图片描述

图1

2、导出硬件,并包含bitstream文件,如图2所示
在这里插入图片描述

图2
3、启动SDK,新建fsbl程序如图3所示。
在这里插入图片描述

图3
4、选中工程,右击,选择Create Boot Image,如图4所示
在这里插入图片描述

图4
5、按顺序添加,第一步,设置好文件的输出路径后,点击add添加fsbl.elf,Partition type 为 bootloader,第二步,点击add添加FPGA PL的比特流文件.bit,Partition type 为 datafile,第三步,点击add添加想要固化的可执行文件.elf,Partition type 为 datafile,之后点击Create Image,生成BOOT.bin文件,如图5所示
在这里插入图片描述

图5
6、新建fsbl_load程序,如图6所示
在这里插入图片描述

图6
7、在fsbl_load工程文件下找到main文件,在main函数中找到
/** Read bootmode register*/
BootModeRegister = Xil_In32(BOOT_MODE_REG);
BootModeRegister &= BOOT_MODES_MASK;
在这个位置下添加BootModeRegister = JTAG_MODE;保存并编译,如图7所示
在这里插入图片描述

图7
8、点击xilinx下的Program Flash,加载刚刚生成的BOOT.bin与fsbl_load文件生成的fsbl_load.elf,Flash Type选择qspi-x4-single,点击Program,等待Flash Operation Successful下载完成,重新上电设备即可运行新程序,如图8所示。
在这里插入图片描述

图8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值