0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解ZYNQ启动的过程

雷达通信电子战 来源:软硬件技术开发 作者:软硬件技术开发 2022-10-27 11:40 次阅读

ZYNQ启动是由ARM引导FPGA,以及用户程序的加载。

预配置阶段

Pre-configurationstage

1. 通过上电复位(POR),将PMU(平台管理单元/Platform Management Unit)从复位状态唤醒,提供如下操作:

复位低压域LPD寄存器

复位全电源域FPD寄存器

复位PMU的RAM

复位PMU处理器的TLB内存

检查LPD、AUX、专用IO等区域电压

复位CSU、LPD、FPD的内存区

2.执行PMU ROM中的预启动代码,以执行复位操作(包括配置安全单元CSU)复位),该阶段结束的标志是CSU复位的释放。 预启动代码进行的初始化操作:

初始化PS Sysmon单元和启动所需要的PLL

清除PMU RAM 和 CSU RAM区域

验证PLL锁

利用PS Sysmon验证LPD、AUX、I/O的范围

清除低压域(LPD)和全电源域(FPD)

bbd242d2-4325-11ed-96c9-dac502259ad0.png

配置阶段

Configuration stage

CSU复位后,初始化OC-RAM,将FBSL加载到OC-RAM(on-chip RAM),CSU加载PMU用户固件(PMU FW:firmware)到PMU RAM,若没有则不加载。

在ZYNQ上运行程序的时候,Boot Rom直接固化在硬件中,开发者无法修改。FSBL(first stage boot loader)是第一阶段的加载程序,经过这个阶段,后面系统才能够运行裸奔程序或者是引导操作系统的u-boot。用户可以选择用cortex-a53制作启动的FSBL文件,也可以选择用cortex-r5来制作启动的FSBL文件。

处理器开始执行FSBL代码。FSBL(first-stage boot loader)的作用如下:

1.初始化PS端配置,如:MIO、PLL、DDR、QSPI、SD等。

2.加载PL端程序,即:加载bitstream

3.搬运用户程序到DDR,并跳转执行。

PCAP(处理器配置访问端口processor configuration access port)用于从PS配置PL。PCAP是在正常操作条件下用于配置PL的唯一接口。在调试过程中,可以使用JTAG接口来配置PL。PS通过secure-stream switch连接到PCAP。可以使用CSU DMA或AES路径将比特流数据发送到PL。

FSBL使用PCAP接口为PL配置比特流,步骤如下:

1.初始化PCAP接口。

2.通过PCAP写入比特流(Bitstream)。

3.等待PL完成状态。

后配置阶段

Post-configuration stage

FBSL执行后,CSU ROM代码进入Post-configuration阶段,负责起系统干预响应,提供硬件支持。PMU仍然需要运行,用于后续改变系统的电源状态(上电、睡眠、唤醒等等)。这个阶段会启动SSBL,就是Linux的bootloader,开始引导启动Linux系统。

bc1fdf9c-4325-11ed-96c9-dac502259ad0.png    






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593201
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8651

    浏览量

    361816
  • 上电复位
    +关注

    关注

    1

    文章

    38

    浏览量

    15628
  • PMU
    PMU
    +关注

    关注

    1

    文章

    94

    浏览量

    21304
  • Zynq
    +关注

    关注

    9

    文章

    600

    浏览量

    46627

原文标题:ZYNQ MPSoc的启动过程

文章出处:【微信号:雷达通信电子战,微信公众号:雷达通信电子战】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    浅谈zynq启动,BootROM和FSBL等的执行过程

    本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。 硬件启动过程 1. 重新上电或POR复位后进行硬件启动过程 2
    发表于 11-23 14:53 8467次阅读
    浅谈<b class='flag-5'>zynq</b><b class='flag-5'>启动</b>,BootROM和FSBL等的执行<b class='flag-5'>过程</b>

    详解Zynq的两种启动模式

    Zynq-7000AP SOC器件有效利用了片上CPU来帮忙配置,在没有外部JTAG的情况下,处理系统(PS)与可编程逻辑(PL)都必须依靠PS来完成芯片的初始化配置。 ZYNQ的两种启动模式:从BootROM主动
    发表于 08-02 09:33 813次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>Zynq</b>的两种<b class='flag-5'>启动</b>模式

    s3c2440启动过程详解

    s3c2440启动过程详解
    发表于 08-20 18:30

    玩转Zynq连载1——Zynq的linux启动过程

    `玩转Zynq连载1——Zynq的linux启动过程更多资料共享 链接:https://share.weiyun.com/5s6bA0s1概述 简单的,以ug585中的一张图来看,从大的方面说
    发表于 04-16 06:56

    Zynq在非JTAG模式下的启动配置流程

    BootROM 加载到 OCM 中的启动镜像。FSBL 完成的任务是 Zynq 启动过程中的关键一环,可以分为以下4项:  1. 完成 PS 的初始化  2. 加载 PL 的bit流文件,完成 PL 配置
    发表于 01-08 16:33

    STM32F429启动过程详解

    第13章 STM32F429启动过程详解本章教程主要跟大家讲STM32F429的启动过程,这里的启动过程是指从CPU上电复位执行第1条指令开始(汇编文件)到进入C程序main()函数入
    发表于 08-03 06:15

    STM32H7启动过程详解

    第13章 STM32H7启动过程详解本章教程主要跟大家讲STM32H7的启动过程,这里的启动过程是指从CPU上电复位执行第1条指令开始(汇编文件)到进入C程序main()函数入口之间的
    发表于 08-03 06:41

    Linux启动过程详解

    1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命
    发表于 11-02 07:01

    Linux基础命令之Linux启动过程详解

    2.2 Linux启动过程详解 在了解了Linux的常见命令之后,下面详细讲解Linux的启动过程。Linux的启动过程包含了Linux工作原理的精髓,而且在嵌入式开发
    发表于 10-18 14:17 2次下载
    Linux基础命令之Linux<b class='flag-5'>启动过程</b><b class='flag-5'>详解</b>

    详解zynq启动步骤

    本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程
    发表于 10-27 10:47 7033次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>zynq</b>的<b class='flag-5'>启动</b>步骤

    ZYNQ开发双核运行原理及过程

    ZYNQ是一个可扩展平台,就是有FPGA作为外设的A9双核处理器,它的启动流程与FPGA完全不同,而与传统的ARM处理器类似,ZYNQ启动配置需要多个处理步骤。
    的头像 发表于 12-05 10:48 5488次阅读

    Zynq启动与配置过程详解

    初学 Zynq 的时候,都是按照惯例打开 Vivado 软件,然后实现 Zynq 可编程逻辑硬件部分PL的设置后,把硬件部署导出,再打开 SDK 进行 ARM 核的软件部分 PS 编程设计,最后再将
    发表于 01-26 07:30 20次下载
    <b class='flag-5'>Zynq</b>的<b class='flag-5'>启动</b>与配置<b class='flag-5'>过程</b><b class='flag-5'>详解</b>

    ZYNQ启动流程介绍

    普通的 FPGA 一般是可以从 flash 启动,或者被动加载,但是ZYNQ不行,ZYNQ必须PS端参与
    的头像 发表于 07-22 10:10 5519次阅读

    RL78启动过程详解

    RL78启动过程详解
    的头像 发表于 09-28 16:39 864次阅读
    RL78<b class='flag-5'>启动过程</b><b class='flag-5'>详解</b>

    stm32启动过程详解

    STM32启动过程详解 近年来,STM32微控制器在嵌入式系统中的应用越来越广泛。STM32微控制器具有高性能、低功耗、易扩展和丰富的外设接口等优势。而要让STM32微控制器正常工作,首先要
    的头像 发表于 12-08 15:47 717次阅读