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 固化程序全攻略
940 0
|
6月前
|
存储 芯片
一种LED驱动专用控制电路方案
一、基本的概述 TM1651 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。采用SOP16/DIP16的封装形式。 二、特性说明 采用功率CMOS 工艺 显示模式(7字段×4 位),支持共阳数码管输出 键扫描(7×1bit),增强型抗干扰按键识别电路 辉度调节电路(占空比 8 级可调) 串行接口(CLK,DIO) 振荡方式:内置RC 振荡(450KHz±5%) 内置上电复位电路 内置自动消隐电路 封装形式:DIP16/SOP16 三、具体的应用
|
存储 内存技术
从简单的文件偏移、读写进一步研究MCU程序的下载和软件升级(上)
从简单的文件偏移、读写进一步研究MCU程序的下载和软件升级(上)
59 0
|
存储 安全 开发工具
ZYNQ裸板:程序固化篇
一般的调试中我们都是通过 JTAG 接口将 FPGA 配置文件和应用程序下载到 ZYNQ 器件中。同样的,我们也可以将尝试把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序( Boot Loader) 的参与
414 0
ZYNQ裸板:程序固化篇
|
开发工具 内存技术 Perl
如何固化ZYNQ PL端程序到FLASH
ZYNQ7000板子上,PL端逻辑烧写到FLASH里面。怎么办?
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
505 0
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
|
内存技术 固态存储 监控