ZYNQ - 无DDR固化程序(压缩FSBL以能固化更大的应用程序在OCM上)

简介: ZYNQ - 无DDR固化程序(压缩FSBL以能固化更大的应用程序在OCM上)

应用背景


由于ZYNQ去掉DDR之后,arm空间仅剩余256kbit(192+64),而FSBL占用资源过多,所以对FSBL的配置相关操作进行压缩裁剪,整合到静态链接库,可以用于无FSBL的固化启动。 在FPGA端不ENABLE DDR,在SDK端正常建立工程,补充内容如下:

适用板卡


适用于ZYNQ7系列板卡。

移动部分文件


将导入SDK的平台文件夹下的ps7_init.c和ps7_init.h移动到src

添加静态链接库


新建一个文件夹(可直接添加在src中)添加libno_ddr_boot.a,将no_ddr_boot.h添加到src中。

image.png

添加路径信息


点击properties,添加相关编译信息

image.png

编辑directories,

image.png

编辑libraries,

image.png

更改平台文件


在platform.c文件中进行如下更改,包含以下头文件:

image.png

进行ps7_init的初始化,在109行添加init_FPGA();

image.png

生成镜像文件


使用该版本无需添加系统生成,只需添加elf和bit文件。

image.png

烧写固化


可以新建fsbl工程进行引导固化,屏蔽DDR有关的操作,可手动定义一个宏定义用于调过该段,XPAR_PS7_DDR_0

image.png

编译工程,生成的fsbl的elf用于引导固化烧写flash。

image.png

在jtag模式下进行烧写下载。

工程文件和静态链接库


私信或公众号获取。

目录
相关文章
|
6月前
|
存储 芯片 SoC
ZYNQ程序固化
ZYNQ程序固化
|
6月前
|
存储 NoSQL Redis
高性能存储 SIG 月度动态:多项内核特性移植到 6.6,erofs 完成共享特性 POC
高性能存储 SIG 月度动态送达,一键了解各项目当前进展。
|
6月前
|
Linux 开发工具 异构计算
【ZYNQ】QSPI Flash 固化程序全攻略
【ZYNQ】QSPI Flash 固化程序全攻略
1068 0
|
存储 内存技术
从简单的文件偏移、读写进一步研究MCU程序的下载和软件升级(上)
从简单的文件偏移、读写进一步研究MCU程序的下载和软件升级(上)
60 0
|
存储 安全 开发工具
ZYNQ裸板:程序固化篇
一般的调试中我们都是通过 JTAG 接口将 FPGA 配置文件和应用程序下载到 ZYNQ 器件中。同样的,我们也可以将尝试把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序( Boot Loader) 的参与
418 0
ZYNQ裸板:程序固化篇
|
并行计算
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
97 0
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】