当前位置: 首页 > news >正文

ZYNQ启动流程——ZYNQ学习笔记11

        ZYNQ SoC 的启动由片上的 BootROM 开始。片上 BootROM 是 ZYNQ 芯片上的一块非易失性存储器,它包含了 ZYNQ 所支持的配置器件的驱动, 而且里面的代码是不可修改的。 BootROM 中的代码首先会在片外的非易失性存储器中寻找一个头文件, 头文件里定义了一些启动信息, 用于配置 BootROM 的运行。 这些启动信息包括是程序是否就地执行( excute in place) , FSBL 的偏移地址以及是否为安全模式等。头文件的存在确保 BootROM 能够按照配置器件被格式化后的方式操作。

        BootROM 执行之后,下一个配置阶段被称为 First-Stage Boot Loader ( FSBL), 它是由设计者所创建的。FSBL 可以配置 DDR 存储器和硬件设计过程中所定义的一些外设。这些器件需要在加载软件应用及配置 PL之前就初始化完毕。
总结一下 FSBL 的工作内容:
1、 初始化 PS;
2、 如果提供了 BIT 文件,则配置 PL;
3、 加载裸机应用程序到 DDR 中,或者加载 Second-Stage Boot Loader( SSBL);
4、 开始执行裸机应用程序,或者 SSBL。
        PL 的配置是通过处理器配置访问接口( Processor Configuration Access Port, PCAP) 进行的,它允许对PL 进行部分配置或者完全配置。有关 PL 的部分配置我们会在其他章节予以介绍。 一旦 PS 启动运行之后,PL 可以在任意时刻被配置, FSBL 和应用程序可以清除、 配置以及使能 PL。

        要重建一个 ZYNQ 的启动镜像我们需要执行以下文件:
1、 Boot ROM 头文件:控制 Boot ROM 设置,比如就地执行、 加密、 FSBL 偏移量、镜像文件大小等;
2、 First-Stage Boot Loader;
3、 PL 配置文件, 即 BIT 文件;
4、 运行在 PS 上的软件应用程序。
        ZYNQ SoC 使用多个模式引脚来决定配置器件的类型, 软件的存储位置以及其他的系统设置, 这些引脚共享 PS 端的 MIO 引脚。 总共有 7 个模式引脚, 分别为 MIO[8:2]。其中,前四个引脚定义启动模式,第五个引脚定义是否使用 PLL, 第六个和第七个引脚定义上电过程中 MIO bank0 和bank1 的 bank 电压,如下图所示:

整个系统的启动过程如下图所示:

        在上电复位( Power On Reset, POR) 之后,硬件会采集模式引脚的状态, 禁用器件内部的模块,并根据模式引脚的设置选择是否使能 PS 的时钟锁相环。而在其他的复位条件下, 比如软复位, 硬件不会执行上述的动作。 需要注意的是, PS 的复位按键,属于上电复位( POR),如果按下 PS 的复位按键,硬件会重新采集模式引脚的状态。

ZYNQ 启动分析_pl power status off-CSDN博客

ZYNQ程序固化——ZYNQ学习笔记7_zynq sd卡启动-CSDN博客

http://www.xdnf.cn/news/1346185.html

相关文章:

  • X00238-非GNSS无人机RGB图像卫星图像视觉定位python
  • 25年8月通信基础知识补充1:中断概率与遍历容量、Sionna通信系统开源库、各种时延区分
  • Android 16环境开发的一些记录
  • Prometheus+Grafana监控redis
  • 制造企业用档案宝,档案清晰可查
  • 81 柔性数组造成的一些奇怪情况
  • 农业-学习记录
  • 关于 WebDriver Manager (自动管理浏览器驱动)
  • 当下一次攻击发生前:微隔离如何守护高敏数据,防范勒索攻击下的数据泄露风险!
  • 一、Python IDLE安装(python官网下的环境安装)
  • 腾讯云EdgeOne安全防护:快速上手,全面抵御Web攻击
  • Datawhale AI夏令营---coze空间共学
  • 【图像算法 - 21】慧眼识虫:基于深度学习与OpenCV的农田害虫智能识别系统
  • 关于日本服务器的三种线路讲解
  • 在自动驾驶中ESKF实现GINS时,是否将重力g作为变量考虑进去的目的是什么?
  • ASPICE过程能力确定——度量框架
  • Unity--判断一个点是否在扇形区域里面(点乘和叉乘的应用)
  • 视觉语言大模型应用开发——基于 CLIP、Gemini 与 Qwen2.5-VL 的视频理解内容审核全流程实现
  • ref 简单讲解
  • flutter geolocator Android国内定位失败问题解决
  • JVM 调优全流程案例:从频繁 Full GC 到百万 QPS 的实战蜕变
  • 【大模型本地运行与部署框架】Ollama的cmd常用命令
  • Linux 软件编程(九)网络编程:IP、端口与 UDP 套接字
  • 【Python】两条命令永久切国内源
  • 本地组策略编辑器图形化工具
  • 力扣(在排序数组中查找元素的第一个和最后一个位置)
  • 当我们想用GPU(nlp模型篇)
  • 开源 python 应用 开发(十)音频压缩
  • 开源 python 应用 开发(十一)短语音转文本
  • ZKmall模块商城的跨境电商支付安全方案:加密与权限的双重防护