当前位置:   article > 正文

zynq 程序固化和启动_ax7010 qspi 固化

ax7010 qspi 固化

我们前面的例程都是在 SDK 开发环境中用 JTAG 直接下载程序运行,如果开发板断电,程序就会丢失,如何让程序能够在开发板断电后再上电能重新启动,这就需要用到应用程序的固化。 ZYNQ7000 SOC 芯片可以从 FLASH 启动,也可以从 SD 卡里启动, 本文给大家介绍程序的 FLASH 和/或者 SD 卡启动的方法。

前面我们也介绍过, Zynq7000 SOC 芯片上电后,运行的是 ARM 系统(PS)。然后再通过 ARM 系统软件部分加载 FPGA 的比特流文件.bit 至 FPGA(PL),启动 FPGA 的逻辑功能。 下面给大家介绍一下 ZYNQ 系统的启动流程:

开发板启动流程

开发板的启动分两个阶段,第一阶段是 BOOT ROM,第二阶段是 FSBL (First Stage Bootloader)。经过两个阶段,应用程序开始运行。

 第一阶段 (BOOT ROM)

1). AX7010/AX7020 开发板上电后,Zynq7000 SOC 会首先执行片内 Boot ROM 代码, Boot ROM 代码读取 Boot mode 寄存器会决定是哪一种启动方式(SD card/QSPI Flash/JTAG)。

2). 确定好哪种启动方式后, Boot ROM 从相应的启动设备(SD Card/QSPI Flash)加载 First
Stage Bootloader (FSBL) 到 On Chip Memory(OCM) RAM,开始将执行权交付给 FSBL。

 第二阶段 FSBL (First Stage Bootloader)

FSBL 开始执行, 后面我们会介绍了如何利用 SDK 工具一步步生成 FSBL 代码和可执行文
件,结合代码可知 FSBL 主要做了如下工作:

1).初始化 CPU,初始化串口;

2). Processor System (PS) 一些控刢器的初始化,如 MIO, PLL, CLK and DDR;

3). 禁止 L1 Data Cache;

4). 注册 ARM 中断向量;

5). 通过 Boot mode 寄存器,判断是哪种启动方式
a). QSPI Flash 启动方式:
 初始化 QSPI Flash 控制器;
 从 Flash 拷贝 system.bit 到 FPGA (如果 Flash 中存有 system.bit);
 从 QSPI Flash 拷贝应用程序的代码到 DDR3;
 调转到应用程序执行;
b). SD Card 启动方式:
初始化 SD 控刢器;
从 SD Card 拷贝 system.bit 到 FPGA (如果 BOOT.BIN 中存有

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/492493
推荐阅读
相关标签
  

闽ICP备14008679号