Zynq-7000&Zynq UltraScale+ MPSoC 启动配置详解

需积分: 34 39 下载量 8 浏览量 更新于2024-08-06 收藏 1.44MB PDF 举报
"Zynq-7000&Zynq UltraScale+ MPSoC启动配置和启动文件的生成" Zynq-7000 SoC和Zynq UltraScale+ MPSoC是Xilinx公司推出的基于ARM架构的片上系统(System-on-Chip,SoC),它们在启动过程中涉及多个阶段和配置选项,特别是启动模式配置引脚的设定,对于系统的初始化和运行至关重要。 1. 启动过程分为三个阶段: - **阶段0**,也称为BootROM,是上电或暖复位后由APU(在Zynq-7000中为双核A9,在Zynq UltraScale+ MPSoC中为四核A53)执行的固定不可修改的代码,用于初始化设备。 - **阶段1**,执行第一级启动引导程序(FSBL,First Stage Boot Loader),用户可以自定义这段代码。 - **阶段2**,通常运行用户编写的软件程序,如第二级启动引导程序(SSBL,Second Stage Boot Loader)如u-boot,或直接运行应用程序。 2. **启动模式配置引脚**: - 对于Zynq-7000 SoC,BOOT_MODE引脚与MIO引脚有特定的对应关系,用于设置不同的启动方式,例如JTAG、NOR、NAND和Quad_SPI等。例如,通过设置这些引脚的高低电平组合,可以选择设备是通过JTAG接口还是其他存储器进行启动。 - Zynq UltraScale+ MPSoC的启动模式配置可能有所不同,但同样依赖于特定的引脚配置来决定启动源。 3. **启动文件**: - **BOOT.bin** 文件的生成是启动过程中的关键步骤,它通常包含FSBL和其他必要的固件,用于初始化和加载后续的引导程序。 - **FSBL**(First Stage Boot Loader)是生成的第一个引导加载程序,负责初始化硬件,并加载后续的引导加载程序或操作系统映像。 - **R5.elf** 是针对R5处理器生成的二进制文件,R5是Zynq MPSoC中的实时处理器核。 - **PMU**(Power Management Unit)文件是针对电源管理单元的固件,用于管理和控制SoC的电源状态。 - **ATF**(Arm Trusted Firmware)是信任的固件,负责初始化平台的安全环境并引导可信执行环境(TEE)。 - **u-boot** 是一个通用的开放源码引导加载程序,用于加载操作系统内核,它可以在阶段2运行。 - **pl.bit** 文件是针对可编程逻辑(PL)部分的配置文件,由Xilinx的工具生成,用于配置FPGA部分的逻辑功能。 这些启动配置和文件的正确生成和设置对于确保Zynq-7000 SoC和Zynq UltraScale+ MPSoC能按预期工作是必不可少的。理解这些概念对于开发和调试基于这些平台的应用至关重要。开发者需要根据具体应用需求,合理配置启动模式,并生成相应的启动文件,以实现从不同源加载软件和驱动。