ZYNQ
+ -

ZYNQ开发流程

2026-05-26 3 0

Vitis 是 Zynq 芯片上 ARM 处理器的软件开发环境,而 Vivado 是为其 FPGA 逻辑部分设计硬件电路的工具。两者共同构成了 Zynq 开发的核心工具链。

Zynq 开发的核心工具链分工

Zynq 芯片的最大特点是其架构由处理系统(PS,即ARM处理器部分)可编程逻辑(PL,即FPGA部分)组成。针对这两个部分,需要不同的工具进行开发:

工具 主要目标 (Zynq的哪个部分) 核心功能 关键产出物
Vivado PSPL 的硬件连接 1. 配置PS(如DDR、外设接口)
2. 设计PL(编写Verilog/VHDL)
3. 将PS和PL连接成一个完整的硬件系统
XSA文件 (硬件平台描述文件,包含FPGA配置)
Vitis (统一IDE) PS (ARM处理器) 1. 导入XSA文件来创建软件平台
2. 为ARM处理器编写、编译和调试C/C++嵌入式程序
3. 管理PS和PL之间的软件驱动和通信
BOOT.bin (可启动文件,用于芯片上电运行)
Vitis HLS (高层次综合) PL (FPGA逻辑) C/C++代码直接生成FPGA硬件IP核,可以像调用函数一样在Vivado中集成使用,显著提高复杂算法的开发效率 自定义IP核
Vivado设计 
    ↓ 导出硬件
   .XSA文件
    ↓ Vitis导入
  创建FSBL工程 + 用户应用工程
    ↓ 编译
生成多个ELF文件 + BIT文件
    ↓ 创建Boot Image
   BOOT.BIN (整合了FSBL + 用户程序 + FPGA配置)
  • vivado通过导出生成XSA文件
  • Vitis导入XSA文件 生成BOOT.BIN文件,其实就是FSBL
BOOT.BIN 典型组成:
├── FSBL (First Stage Boot Loader)      ← 你提到的这部分对了
├── BIT 文件 (FPGA配置)                   ← 但不仅于此
├── 用户程序 (ELF)                       ← 还有这个
└── PMU FW (部分器件)

典型开发流程:一个“Hello World”示例

一个典型的Zynq嵌入式开发流程,能帮你更好地理解这些工具是如何协同工作的。

  1. 构建硬件平台 (使用 Vivado)

    • 配置PS:在Vivado中,创建一个工程并添加“ZYNQ7 Processing System”这个IP核。你需要根据你的开发板配置它的各种参数,例如DDR芯片型号、UART串口使用的引脚(MIO)以及串口波特率(通常设为115200)等。
    • 设计PL (可选):如果需要在FPGA部分添加自定义逻辑或外设(如AXI GPIO来控制LED),就在这里完成。
    • 生成顶层文件和比特流:确认设计无误后,生成HDL顶层文件,并最终生成比特流(bitstream),这个文件用于配置FPGA部分。
    • 导出硬件平台:最后,将包含Zynq配置和比特流的硬件信息导出为一个 XSA文件。这个文件是连接Vivado和Vitis的桥梁。
  2. 开发软件应用 (使用 Vitis)

    • 创建软件平台:打开Vitis,使用上一步生成的XSA文件创建一个平台工程(Platform Component)。这个平台工程为后续的应用程序提供了硬件信息。
    • 创建应用程序:基于刚创建的平台,创建一个应用工程(Application Component)。你可以从一个简单的“Hello World”模板开始。
    • 编写/修改代码:在 helloworld.c 文件中,你可能会修改代码,让它循环打印“Hello World”而不是只打印一次,以便观察程序是否持续运行。
    • 生成启动镜像:编译工程后,Vitis可以将第一阶段引导加载程序(FSBL,First Stage Boot Loader)、FPGA比特流(.bit)和你自己的应用程序(.elf)打包成一个 BOOT.bin 文件。这是Zynq从SD卡或QSPI Flash启动所需的最终文件。
  3. 上板验证

    • 将生成的 BOOT.bin 文件复制到SD卡的FAT32分区,或者通过JTAG等方式将其烧录到开发板的QSPI Flash中。
    • 设置好开发板的启动模式(如从SD卡启动)并上电。
    • 用串口工具(如PuTTY)连接到Zynq的串口(波特率115200),如果一切顺利,你应该能看到“Hello World”信息在不断打印,这就验证了整个软硬件流程是成功的。

0 篇笔记 写笔记

关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!