ZYNQ启动方式和启动流程详解

本文详细介绍了ZYNQ的多种启动方式,包括NOR, NAND, Quad-SPI, SD Card等,以及启动流程的三个阶段。重点讨论了Linux在ZYNQ上的启动,包括硬件初始化和软件启动的三个阶段,FSBL的角色,以及U-Boot如何加载内核。同时提到了SD卡的分区和文件系统类型,以及SDK在裸机启动中的应用。" 89599356,7390269,华为面试题:简单密码转换,"['编程题', '字符串处理', '面试题', 'Python方法', '安全']
摘要由CSDN通过智能技术生成

一,ZYNQ有多种启动方式:NOR, NAND, Quad-SPI, SD Card,JTAG,EMMC。

上电后zynq根据模式管脚的设定选用boot的方式,通过核心板上的拨码开关设置启动方式。

ZYNQ的启动配置分多级进行的。配置通常按三个阶段进行:

(1)阶段0:该阶段简称为BootROM,控制着整个芯片的初始化过程。放在BootROM中的代码是固化的,不可修改的,处理器核在上电或者热启动时自动执行这部分代码。

(2)阶段1:该阶段的启动加载器(FSBL)也可以由用户代码控制。

(3)阶段2:这阶段通常可以是用户的PS端的设计代码,当然也可以是第二阶段的启动加载器(SSBL),这个阶段可以完全由用户控制,是可选的。

文档共60页。主要向初学者提供了Zynq开发的技术方向,针对不同应用给出了基本的参考文档;同时对Zynq双核AMP加载方式做了详细描述,对Zynq的fsbl启动流程做了简单介绍。章节如下: Zynq User Guide 1 介绍 4 2 快速上手指南 4 3 多核开发教程 4 3.1 AMP开发说明 6 3.1.1 快速生成amp工程 6 3.1.2 Generating Boot File 8 3.1.3 烧写程序 9 3.1.4 启动 10 3.1.5 调试 10 3.1.6 总结 11 3.2 SMP开发说明 11 4 ZC706启动代码分析 11 4.1 启动代码 12 4.2 FSBL流程(FOR AMP) 13 4.3 CPU0启动CPU1流程 14 5 程序在线烧写方案及流程 14 5.1 程序烧写需求 14 5.2 提出该需求的原因 14 5.3 程序烧写方案 14 5.3.1 BOOT.BIN组成 14 5.3.2 BOOT.BIN生成方法 15 5.4 FSBL.BIN和APP.BIN等的生成 15 5.5 制作*BIN及烧写的具体步骤 15 5.5.1 制作*bin流程 15 5.5.2 BOOT.bin制作过程 15 5.5.3 FSBL.bin和APP.bin等的生成过程 22 5.6 烧写BOOT.BIN步骤 26 5.6.1 通过SDK工具烧写步骤 26 5.6.2 通过上位机烧写软件的烧写步骤 29 5.6.3 通过串口调试助手烧写步骤 29 6 Zynq Qspi控制器 30 6.1 基本特性 30 6.2 I/O接口 31 6.3 QSPI控制器模式 33 6.3.1 I/O模式 33 6.3.2 线性地址(linear address)模式 33 6.3.3 传统(legacy)SPI模式 34 6.4 QSPI 例程 34 6.5 QSPI控制器支持访问32MB方法 35 6.5.1 Bank地址寄存器(Bank address register) 35 6.5.2 扩展地址模式(Extended address mode) 35 6.5.3 使用新写命令(New commands) 35 6.6 QSPI FLASH选择 35 6.7 作为BOOT器件考虑 35 7 µC/OS系统启动指南 36 7.1 INTRODUCTION 36 7.1.1 Software Requirements 36 7.1.2 Hardware Requirements 36 7.2 HARDWARE DESIGN 37 7.2.1 Step 1. Invoke the Vivado IDE and Create a project 37 7.2.2 Step 2. Create an IP Integrator Design 39 7.2.3 Step 3. Add and setup the Zynq processor system IP block 39 7.2.4 Step 4. Customize the Zynq block for our design 41 7.2.5 Step 5. Add the soft peripherals 45 7.2.6 Step 6. Generate HDL Design Files 47 7.2.7 Step 7. Synthesis, Implement and Generate Bitstream 48 7.3 SOFTWARE DESIGN 49 7.3.1 Step 1. Installation of the µC/OS Repository 49 7.3.2 Step 2. Generate the µC/OS BSP 50 7.3.3 Step 3. Build and Debug the Demonstration Project 54 7.3.4 Step 4. Program the AXI Timer 0 with the ucos_axitimer Driver 55 7.3.5 Step 5. Program the AXI Timer 1 with the Xilinx tmrctr Driver 58 7.4 CONCLUSION 59 8 Linux系统启动指南 59
Zynq 7z035是一款由赛灵思公司推出的可编程逻辑器件,它采用了基于ARM处理器的FPGA系统级集成平台。该器件的启动流程主要包括初始化、配置和启动三个阶段。 在初始化阶段,首先由ROM中的启动程序加载FSBL(First Stage Boot Loader,第一阶段引导加载器)代码到内存中。FSBL负责初始化DDR控制器、设置UART串口和初始化中断控制器等。然后,FSBL将加密的Bitstream(比特流)加载到FPGA的可编程逻辑部分,使其完成设计的硬件配置。 接下来是配置阶段,FSBL将加载U-Boot(Linux系统的引导加载器)和设备树(Device Tree)等关键组件到RAM中。U-Boot负责加载Linux内核、设置文件系统和初始化设备等,设备树则定义了硬件资源的布局和配置信息。此外,启动启动程序还可能加载其他应用程序或固件到内存中,以便系统启动时使用。 最后是启动阶段,当U-Boot加载完成后,它将控制权交给Linux内核。Linux内核根据设备树中的配置信息初始化硬件设备,并加载文件系统。一旦文件系统加载完成,系统就进入用户空间,可以执行应用程序和其他任务。 总结来说,Zynq 7z035的启动流程包括初始化、配置和启动三个阶段。在初始化阶段,FSBL负责初始化硬件并加载Bitstream配置FPGA。在配置阶段,FSBL加载U-Boot和设备树等关键组件到RAM中。最后,在启动阶段,U-Boot加载Linux内核,Linux内核初始化硬件设备并启动系统。这样,Zynq 7z035就能够完成启动并运行用户应用程序。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值