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模式下进行烧写下载。

工程文件和静态链接库


私信或公众号获取。

目录
相关文章
|
存储 并行计算 Linux
国产之路:复旦微FMQL调试笔记1:PS网口
FPGA,全程现场可编程门阵列,是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。换个简单通俗的介绍方式,就好比一个全能的运动员,FPGA就是这么神奇的可以通过设定而实现各种复杂的功能电路。
2974 0
国产之路:复旦微FMQL调试笔记1:PS网口
|
存储 缓存 开发工具
ZYNQ-双核AMP通信(一)
ZYNQ-双核AMP通信(一)
2272 0
ZYNQ-双核AMP通信(一)
|
Linux 开发工具 内存技术
国产之路:复旦微zynq调试笔记2--PL网口
PL侧的网口需求相较于PS部分还是有一定区别的,主要需要添加axi ethernet 的移植
3927 0
|
开发工具 异构计算 Perl
|
开发工具 芯片 Perl
ZYNQ_SDK MIO控制LED
ZYNQ_SDK MIO控制LED
|
Linux 开发工具 异构计算
【ZYNQ】QSPI Flash 固化程序全攻略
【ZYNQ】QSPI Flash 固化程序全攻略
4806 0
|
存储 开发工具 芯片
ZYNQ-UART串口中断测试
ZYNQ-UART串口中断测试
1896 0
ZYNQ-UART串口中断测试
|
存储 芯片 SoC
ZYNQ程序固化
ZYNQ程序固化
|
Ubuntu Linux Shell
【linux】PetaLinux 2024.1安装笔记
【linux】PetaLinux 2024.1安装笔记
2432 0
|
开发工具 芯片 Perl
【ZYNQ】裸机 PS + PL 双网口实现之 ZYNQ 配置
【ZYNQ】裸机 PS + PL 双网口实现之 ZYNQ 配置
4177 0