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.pswp.cn/bicheng/94213.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94213.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/94213.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++利用CerateProcess创建WPF进程并通过命名管道通讯

引言原因是我需要在C程序中调用另外一个WPF窗体打开或则关闭,进程之前通过通讯协议进行交互。由于使用不同语言开发,两者都比较复杂不方便重写,最方便的方法就是使用进程间通信,WPF窗体应用程序根据消息进行Show/Hide/Exit操作。函…

Seaborn数据可视化实战

1. Seaborn基础与实践:数据可视化的艺术 2. Seaborn入门:环境搭建与基础操作 3. Seaborn基础图表绘制入门 4. Seaborn数据可视化基础:从内置数据集到外部数据集的应用 5. Seaborn颜色与样式定制教程 6. Seaborn数据可视化入门:绘制…

BIM+写实数字孪生落地实战指南

🌟 正文 在智慧城市与工业4.0的浪潮中,BIM与数字孪生的深度碰撞正在重塑建筑的生命周期。基于Revit(RVT)模型构建的超写实数字孪生体,不仅实现物理空间的毫米级镜像,更通过实时数据驱动,赋予建…

[Git] 如何拉取 GitHub 仓库的特定子目录

作为开发者,我们经常遇到只需要克隆大型仓库中某个子目录的场景。 Git 本身并不支持直接克隆子目录,但通过一些技巧可以实现类似效果。本文将介绍几种实用的方法,帮助获取目标代码。 为什么需要局部拉取? 节省时间和带宽&#xff…

修复Simulink到UE5丢包时被控船体的残影问题

提问 simulink 有一个和UE5协同的模块,叫做Simulation 3D Scence Configuration,还有一个发送来自simulink到UE5数据的模块叫做Simulation 3D Message。 现在遇到的问题是,这两个模块的优先级设置是正确的,且sample time都设置为0…

嵌入式第三十五课!!Linux下的网络编程

一、目的网络编程的目的实际上也是进程通信的一种方式,不过它可以在不同的主机上进行通信;二、需要解决的问题1. 主机与主机之间物理层面必须互联互通。指的是参与通信的计算机(主机)需要通过物理设备建立连接(光纤、网…

遥感机器学习入门实战教程|Sklearn案例⑦:特征选择与重要性分析

很多同学问:波段/特征一多就“维度灾难”,训练慢、过拟合,且很难解释“哪些特征最关键”。本篇用 sklearn 给出一套能跑、可视化、可比较的最小工作流,并配上方法论速记,帮助你在高光谱/多特征任务里做出稳健筛选。 &a…

地理数据制备:蔚蓝地图空气质量数据的获取、清洗与坐标匹配指南

【📊】手把手攻略:如何从“蔚蓝地图”挖宝——获取济南市可用空气质量数据全记录 一份不需要写代码也能搞定环境数据获取的实用指南 ✨ 引言:为什么选择蔚蓝地图? 作为一名环境数据爱好者,我经常需要获取准确、可靠、…

Unreal Engine USceneComponent

Unreal🏛 Unreal Engine - USceneComponent📚 定义🏷 类继承⚡ 关键特性⚙️ 常见配置🛠️ 使用方法🔗 创建与挂载🔄 获取与修改 Transform🧩 附加/分离组件🏊 典型应用场景&#x1…

2025年9月5090工作站、

在深度学习与大模型训练领域,算力是决定研发效率与模型性能的核心要素,而显卡作为算力输出的核心硬件,其性能参数直接影响着训练任务的速度、稳定性与成本控制。对于企业与科研机构而言,选择一套适配自身需求且性价比优异的显卡及…

亚矩阵云手机:亚马逊第三方店铺多账号安全合规运营的核心技术支撑

亚矩阵云手机在亚马逊第三方店铺多账号安全合规运营的技术支持,通过硬件级虚拟化、AI 行为建模、动态资源调度三大核心技术模块,构建了覆盖设备、网络、行为、数据的四维防御体系,确保账号在亚马逊平台规则下的长期稳定运行。以下从技术架构、…

使用C++11改进工厂方法模式:支持运行时配置的增强实现

在软件开发中,工厂方法模式是一种常用的设计模式,用于创建对象。通过使用C11的新特性,我们可以进一步改进工厂方法模式,使其更加灵活和高效。本文将详细介绍如何使用C11的std::function、lambda表达式和智能指针来实现一个支持运行…

小程序插件使用

插件介绍 插件是对一组 js 接口、自定义组件 或页面的封装,用于嵌入到小程序中使用。插件不能独立运行,必须嵌入在其他小程序中才能被用户使用;而第三方小程序在使用插件时,也无法看到插件的代码。因此,插件适合用来封…

要区分一张图片中的网状图(如网格结构或规则纹理)和噪点(随机分布的干扰像素),比如电路的方法 计算机视觉

要区分一张图片中的网状图(如网格结构或规则纹理)和噪点(随机分布的干扰像素),需结合图像预处理、特征提取和分割算法。以下是系统化的解决方案,分阶段说明关键技术和算法选择: 🔍 一…

06_并发编程高级特性

第6课:并发编程高级特性 课程目标 掌握context包的使用 理解sync包中的同步原语 学会处理并发安全问题 掌握性能优化技巧 1. Context包 1.1 Context基础 import ("context""fmt""time" )// 基本Context使用 func basicContext()

X00238-非GNSS无人机RGB图像卫星图像视觉定位python

获取方式见文末,可开发票随着无人机在工业和科研领域应用的加速发展,在非城市环境中使用无gnss、基于视觉的方法进行无人机定位的需求日益增长。本文提出了一种基于视觉的定位算法,利用深度特征计算无人机在野外飞行的地理坐标。该方法基于匹…

Eino 开源框架全景解析 - 以“大模型应用的搭积木指南”方式理解

Eino 开源框架全景解析 - 大模型应用的搭积木指南 🎯 什么是 Eino?一句话概括 Eino 是字节跳动开源的大语言模型应用开发框架,就像是一个专门为 AI 应用设计的"搭积木工具箱",让开发者能够像搭乐高一样轻松构建复杂的 A…

嵌入式开发中,usb通信中输出端点和输入端点

一. 简介本文简单学习一下,嵌入式开发中,usb的输出端点和输入端点。在嵌入式开发的 USB 通信场景中,输出端点(OUT Endpoint) 和 输入端点(IN Endpoint) 是 USB 设备与主机(如电脑、嵌…

【自用】Maven常用依赖

【自用】Maven常用依赖 工具类 Guava Guava(Google Guava)是由Google团队开发的一套Java开源工具库,旨在简化和增强Java开发者的日常工作。它提供了许多实用的工具和基础设施,覆盖了集合、并发、字符串处理、I/O、数学运算等多个…

Java 18 新特性及具体应用

目录 1. UTF-8 默认编码 (JEP 400) 2. 简单 Web 服务器 (JEP 408) 3. Javadoc 代码片段 (JEP 413) 4. switch 模式匹配 (JEP 420, 第二次预览) 5. 向量 API (JEP 417, 第三次孵化) 总结 Java 18 于 2022 年 3 月发布,引入了多项新特性,旨在提升开发…