ZYNQ实现无DDR加载程序运行方法

一.问题

最近项目遇到一个问题,用了一片XC7Z7020,由于功能简单没有外扩DDR,导致自动生成的fsbl.elf文件无法引到jtag烧写bin文件到flash,修改vitis生成的sdk后解决了此问题,具体方法如下。

二.软件环境

1.软件版本:Vivado Vitis2023.1

三.解决方法

第一步: 在Vivado的ZYNQ Block Design时候不配置DDR

第二步: 在Vitis中:

1.在Vitis中新建Platform,选择xsa文件:

2.在xparameters.h中添加DDR的地址空间定义更新xsa后需要重新修改,如下:

3.修改链接文件,修改每个段都到ram_0,因为ram_1空间全部给到应用程序

4.修改fsbl工程的main.c,增加XPAR_PS7_DDR_0条件编译

5.修改fsbl.h,重定义DDR_END_ADDR的宏

6.修改qspi.c,注释掉FLASH大小选择,写成128M

7.编译修改好的Platform

8.新建Application工程(此处可新建Helloworld工程作为示例)

9.修改(或者新建)Application工程的链接脚本,将ram_1空间全部给到应用程序:

11.编译Application工程

12.vitis直接下载程序(用vivado下载也可以)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI+程序员在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值