首页 > 其他分享 >搬运文档+个人总结:FPGA和ZYNQ的上电启动时序(编辑中)

搬运文档+个人总结:FPGA和ZYNQ的上电启动时序(编辑中)

时间:2024-06-06 14:45:53浏览次数:15  
标签:引导 FPGA 引脚 代码 FSBL 时序 ZYNQ BootROM 执行

ZYNQ的上电时序主要参考的UG585。

PS_POR_B 复位引脚解除断言后,硬件立即对引导带引脚进行采样,并可选择启用 PS 时钟 PLL。

然后,PS 开始执行片上 ROM 中的 BootROM 代码以启动系统。

POR 会重置整个设备,而不会保存先前的状态。

非 POR 类型的复位也会导致 BootROM 执行,但硬件不会对引导带引脚进行采样。

非 POR 复位后,一些寄存器值会保留,设备会知道其先前的安全模式。

非 POR 复位包括 PS_SRST_B 引脚和几个内部复位源。

BootROM 是 APU 中运行的第一个软件。

BootROM 在 CPU 0 上执行,CPU 1 执行等待事件 (WFE) 指令。 BootROM 的主要任务是配置系统,将引导映像 FSBL/用户代码从引导设备复制到 OCM,然后将代码执行分支到 OCM。

(此处,FSBL是可以编辑的,这里可以参考我之前写的:ZYNQ的程序固化~AMP跑双核_zynq amp固化-CSDN博客

(可见,脱离执行等待事件 (WFE) 指令需要CPU0为其执行一个SEV(系统事件)指令来进行唤醒(这个不是我写的):zynq双核AMP实验之cpu1唤醒代码_startcpu1();-CSDN博客

(这里给一个实例代码,其中 Xil_Out32 向指定位置写入了CPU1需要运行的程序的地址)

#define CPU1STARTADR 0xFFFFFFF0
#define CPU1STARTMEM 0x2000000
#define sev() asm(“sev”)
void StartCpu1(void)
{
    Xil_Out32(CPU1STARTADR, CPU1STARTMEM);
    dmb(); //waits until write has finished
    sev();
}

可选地,FSBL/User 代码可以直接从非安全环境中的 Quad-SPI 或 NOR 设备执行。

PS 主引导设备包含一个或多个引导映像。

引导映像由 BootROM Header(也称为 Boot Image Header)和第一阶段引导加载程序 (FSBL) 组成。

引导设备还可以包含比特流来配置 PL 和嵌入式操作系统,但 BootROM 代码无法访问这些比特流。

用于引导的闪存设备可以是 Quad-SPI、NAND、NOR 或 SD 卡。

BootROM 执行流程受引脚带设置、BootROM Header 以及 BootROM 代码发现的有关系统的信息的影响。BootROM 可以在具有加密 FSBL/User 代码的安全环境中执行,也可以在非安全环境中执行。BootROM 执行后,FSBL/User 代码将负责系统,如 Zynq-7000 SoC 软件开发人员指南 (UG821) 中所述。

对于开发,系统可以在 JTAG 模式下启动。或者,可以在非安全闪存设备启动后启用 JTAG。JTAG 始终意味着非安全环境,但它允许访问 CPU 复合体 (APU) 中的 Arm 调试访问端口 (DAP) 控制器和 PL 中的 AMD 测试访问端口 (TAP) 控制器。

标签:引导,FPGA,引脚,代码,FSBL,时序,ZYNQ,BootROM,执行
From: https://www.cnblogs.com/VerweileDoch/p/18235122

相关文章

  • FPGA数字信号处理之:小波变换算法的实现
    一、定义        小波变换(wavelettransform,WT)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够......
  • 含税仅498元起!复旦微ARM + FPGA SoC全国产工业核心板,性价比真高!
     ......
  • 基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证
    目录1.算法运行效果图预览2.算法运行软件版本3.部分核心程序4.算法理论概述5.算法完整程序工程1.算法运行效果图预览fpga仿真结果matlab调用FPGA的仿真结果进行图像显示2.算法运行软件版本vivado2019.2matlab2022a3.部分核心程序..................................
  • 【FPGA约束】如何对fpga进行io约束
            对FPGA进行I/O输入输出约束是确保设计满足电气和物理要求的重要步骤。以下是在Vivado环境中设置I/O约束的一般步骤:1.确定I/O引脚需求根据电路设计和FPGA芯片手册,确定每个I/O引脚的物理位置、电气特性(如电压标准)以及其他相关属性。2.使用Vi......
  • 提供高达 58 Gbps 的收发器速率、AGFA023R31C2E1VB/AGFA023R31C2I1V/AGFA023R31C2I2VB
    Agilex7FPGA产品系列包括业界最高性能的FPGA和SoC。英特尔Agilex7FPGA和SoC由高性能的F系列、I系列和M系列FPGA组成,为要求最高的应用提供了一系列的高级功能。•具有业界最高数据速率的收发器—高达116Gbps•业界首创的PCIExpress*(PCIe*)5.0和ComputeExpressLi......
  • 迪普微震撼发布:全新Xilinx Kintex-7 XC7K325 FPGA开发板!
    01产品概述本公司基于XilinxKintex-7系列的开发平台采用核心板加扩展主板的方式,方便用户对相关板卡的二次开发利用。其中,核心板包含一片芯片XC7K325T,使用FFG900封装,外挂4片512MB的高速DDR3芯片和1片256Mb的QSPIFlash芯片。在扩展板上我们设计了丰富的外围接口,比如PCIeG......
  • Stratix® V FPGA系列:5SGXEBBR3H43I3G、5SGXEBBR1H43C2G、5SGXEBBR2H43I2G为带宽应用
    StratixV系列StratixVFPGA采用新的存储器体系结构,降低延时,高效实现FPGA业界最好的系统性能。StratixVFPGA为网络设备生产商提供存储器接口解决方案,支持在互联网上迅速有效的传送视频、语音和数据。StratixVFPGA的主要性能突破包括:集成66个28Gbps串行收发器(每通道功耗仅20......
  • FPGA/ZYNQ:生成3x3矩阵
    一、简述在对图像进行处理时经常用到矩阵操作,包括sobel边缘检测、中值滤波、形态学等。本篇博客介绍一下用两个RAM生成3x3矩阵的方法。二、实现方法1.设计line_shift模块用于对三行数据进行寄存;2.设计一个产生3x3矩阵的模块。三、实现过程1.line_shift_RAM_24bit通过时钟......
  • 突破带宽瓶颈,5SGXEB6R3F43C3G、5SGXEB6R1F43C1G、5SGXEB6R2F43I3G、5SGXEB6R3F43C2G F
    StratixVFPGA的主要性能突破包括:集成66个28Gbps串行收发器(每通道功耗仅200mW)、提供1.6Tbps串行交换能力、提供12.5Gbps背板驱动和28Gbps芯片至芯片驱动能力、提供7组72位1600MbpsDDR3接口、以及提供1840GMACS或1000GFLOPS计算能力、业界第一款精度可变的DSP模块、53Mb嵌入式......
  • FPGA复位专题---(42)复位信号高扇出?
     (42)复位信号高扇出?1目录(a)FPGA简介(b)Verilog简介(c)复位简介(d)复位信号高扇出?(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现......