zynq PS端固话到qspi FLASH启动
时间: 2025-03-05 14:17:09 AIGC 浏览: 54
### 配置和编程指南:Zynq PS 从 QSPI Flash 启动
#### 准备工作
为了使 Zynq 处理器系统 (PS) 能够从 QSPI Flash 启动,需确保硬件平台支持此功能。对于 Zynq UltraScale+ MPSoC 设备而言,QSPI 接口被广泛用于存储启动镜像文件[^1]。
#### 创建 Boot Image
在 Xilinx Vivado 和 Vitis 中创建适用于 QSPI Flash 的启动映像是至关重要的一步。具体操作如下:
- 打开 Vivado 或者 Vitis 工具;
- 导入项目并完成设计流程直至生成比特流文件;
- 使用 `bootgen` 命令行工具或通过 GUI 方式来构建包含所需组件(如 FSBL, Bitstream, PMU Firmware 等)在内的完整启动加载程序包;
```bash
# 示例命令行调用 bootgen 来制作 boot.bin 文件
bootgen -image system_wrapper.bif -arch zynquplus -w on
```
上述过程会依据指定模板自动生成适合于目标板卡的二进制格式启动文件[^2]。
#### 编程 QSPI Flash
一旦获得了正确的 `.bin` 文件,则可以利用多种方法将其烧录至外部非易失性存储器件内:
- **JTAG**: 这是最常见的手段之一,在开发阶段尤为有用。借助 JTAG 下载电缆连接主机与评估套件上的相应接口即可执行写入动作。
- **SW Update Utility**: 对于某些特定型号来说,还可以采用软件更新实用程序来进行在线刷新作业而不必依赖物理连线接触方式。
无论采取哪种途径都务必遵循官方文档给出的操作指引以防止意外损坏设备或丢失数据。
#### 设置 U-Boot 参数
当一切准备就绪之后,还需要适当调整 U-boot 环境变量以便正确识别来自 SPI NOR flash 的应用程序入口地址以及其他必要的参数设置。这通常涉及到修改配置脚本中的几项关键条目,比如设定合适的 loadaddr、kernel_addr_r 及其他关联属性值。
```shell
setenv bootcmd 'sf probe; sf read ${loadaddr} ${flashoffset} ${filesize}; bootm'
saveenv
reset
```
这段代码片段展示了怎样定义一条新的引导指令序列以及保存更改后的环境选项,最后重启系统使之生效。
阅读全文
相关推荐



















