文章目录

  • 1. BootROM简介
  • 2.SD卡启动
  • 3.QSPI启动

1. BootROM简介

  • BootROM是固化在zynq芯片内部非易失性存储器中(zynq有256K的SRAM及128K的ROM)的一段代码,掉电不丢失。用于启动、引导FSBL代码。找到BOOT.BIN所在位置并从中提取FSBL,将FSBL代码拷贝到zynq中的256K-SRAM中运行(此时DDR还没有被初始化,这是FSBL的工作)。
  • BootROM这段代码通常保存在Nor flash中,特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。
  • 要完成上述功能,BootROM必须满足如下要求:
    • 包括SD卡或者QSPI等存储设备的驱动程序
    • 支持文件系统操作(至少支持FAT32,因为将SD卡格式化为FAT32后拷贝进BOOT.BIN的)
  • 对于基于zynq的嵌入式Linux系统,BootROM引导启动FSBL,FSBL引导启动U-Boot,U-boot引导启动Linux内核。

2.SD卡启动

  • 对SD卡的要求:

    • 标准的SD卡设备
    • 支持FAT32文件系统
    • SD卡不大于32GB
  • SD卡启动流程
    • 1、对MIO引脚进行初始化,主要是物理特性进行配置,如功能、I/O、使能/三态/上下拉。如下图中MIO40-MIO45所示。硬件设计时必须将SD卡连接至zynq的MIO40-MIO45这几个PIN
    • 2、初始化SD卡,驱动SD卡对其进行读写
    • 3、读写测试
    • 4、从SD卡文件系统中读取Boot.BIN文件,对BootROM(包括FSBL加载地址、大小、位置偏移)进行解析(XilinxUG585的说法,但是似乎叫Boot.bin头更合适,后面的QSPI部分也是一样)
    • 5、BootROM从BOOT.BIN中拷贝FSBL代码到SRAM中,并跳转到FSBL代码的运行地址启动FSBL。这样BootROM就完成任务了,接下来由FSBL接管

3.QSPI启动

  • 对QSPI的要求
  • QSPI启动流程
    • 1、初始化与QSPI相关的MIO引脚,见下表:
    • 2、初始QSPI Flash外设,实现读写
    • 3、读写测试
    • 4、从QSPI中读取BOOT.BIN,对BootROM头进行解析。(BootROM代码按照一定的文件格式去从QSPI的0x0000去找BOOT.BIN文件,若没有就从0x8000,还没有就从0x10000,…,但是搜索范围不能超过前16MB的空间)
    • 5、解析得到FSBL代码的大小、位置偏移及FSBL的加载地址后,从QSPI中拷贝FSBL代码到SRAM,启动之

zynq中的BootROM相关推荐

  1. FPGA - Zynq - 加载 - BootRom

    FPGA - Zynq - 加载 - BootROM 题外话 BootROM BootROM Header Definition BootROM Header Searching and Loadin ...

  2. zynq学习03 zynq中三种实现GPIO的方式

    http://m.blog.csdn.net/article/details?id=52123465 http://blog.chinaaet.com/songhuangong/p/43084 本文介 ...

  3. zynq中纯Programmable Loigc编程

    https://blog.csdn.net/yc461515457/article/details/41553363 没接触zynq之前,只用过FPGA,在FPGA中用verilog编程简单明了,后来 ...

  4. zynq中mgtx应用_【干货分享】ZYNQ常用外设设计 (上)

    2. IO的电压为1.8V. 3. 默认使用的参数为:115200波特率以及其他对应参数,见图 21. Step2: 在Vivado的Block Design中配置ZYNQ7 Processing S ...

  5. zynq中interrupts的学习笔记(一)

    本学习笔记参考UG585-Zynq-7000-TRM.pdf ch.7:Interrupts.文中有说的不够严谨或者是有错误的地方,欢迎指正! zynq中的interrupts有很多种,大体上分为三类 ...

  6. ZYNQ中DMA与AXI4总线-DMA简介

    ZYNQ中DMA与AXI4总线 为什么在ZYNQ中DMA和AXI联系这么密切?通过上面的介绍我们知道ZYNQ中基本是以AXI总线完成相关功能的: 图4‑34 连接 PS 和 PL 的 AXI 互联和接 ...

  7. ZYNQ中裸机开发和Linux开发有什么区别?

    ZYNQ架构特征 从高层次的角度去看,Zynq架构包含PS和PL两部分以及之间的互连线.如图2.3所示.互联遵循AXI标准,AXI标准是Arm开发的片上通信技术标准. 将PS和PL集成到一起一方面能够 ...

  8. Zynq中FPGA上电时序

    因为ZYNQ 的PS 和PL 部分的电源有上电顺序的要求,在电路设计中,按照ZYQN 的电源要求设计,上电依次为1.0V -> 1.8V -> 1.5 V -> 3.3V -> ...

  9. ZYNQ中AXI-Lite,AXI4 和 AXI-Stream 三种总线特点

    AXI 全称 Advanced eXtensible Interface,是 Xilinx 从 6 系列的 FPGA 开始引入的一个接口协 议,主要描述了主设备和从设备之间的数据传输方式.在 ZYNQ ...

最新文章

  1. running build_ext building ‘gensim.models.word2vec_inner‘ extension error: Microsoft Visua
  2. 如何在Git历史记录中grep(搜索)已提交的代码
  3. 【杂谈】您想要的docker环境来了!
  4. html方框中能放置图片么,html中的img标签你不知道的那些细节!
  5. matlab 层次聚类
  6. NET问答: String 和 string 到底有什么区别?
  7. PRML(1)--绪论(上)多项式曲线拟合、概率论
  8. 新一代高效Git协同模型AGit-Flow详解
  9. linux nginx 配置端口访问,Linux入门教程:ubuntu 16.04配置nginx服务器实现一个IP一个端口多个站点,ubuntunginxNginx 使用异步...
  10. 软件测试需注意的事项
  11. 数据转换transform练习
  12. 吉比特2018校招 走格子游戏
  13. 助教日志_沈航1.2班第一二周作业
  14. 单元测试测试用例覆盖率为0
  15. 三维切面(水平面、冠状面、矢状面)的几种操作
  16. [Place 30-51] IDELAYCTRL elements have been found to be associated with IODELAY_GROUP ‘CAMERALINK‘,
  17. 艾兰岛编辑器-UI面板
  18. jQuery中过滤选择器的eq,ne等于gt大于lt小于
  19. 《数据结构》C语言版 严蔚敏版本 学习笔记
  20. 研学堂|基于MCC800P运­­­动控制卡的关节型机械手简易控制

热门文章

  1. Vue组件通信:父传子、子传父、跨组件通信
  2. IntelliJ IDEA主题背景设置护眼色
  3. MIUI通知类短信权限的坑
  4. 【Linux】红帽子安装过程超详细(学生教学用)
  5. python代理池_进击:用Python搭建高匿代理池
  6. oracle vba 数组_Excel VBA 连接各种数据库(二) VBA连接Oracle数据库
  7. 西门子PLC远程监控与数据采集方案
  8. xsim安装手记(转)
  9. 情感分析(判断文章正负向)
  10. Windows 11 任务栏、菜单栏无故消失解决方案