# Zynq **Repository Path**: BUAA-CI-LAB/zynq ## Basic Information - **Project Name**: Zynq - **Description**: Lab 3:Zynq 开发环境 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-02 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1 实验目标 DTA TODO ## 2 环境配置 > 需要说明一下所需存储空间,安装vivado约xxG,WSL约100G ### 2.1 安装 Vivado 2025.2 DTA TODO > 安装 Windows 版,安装过程无需逐步给出,勾选开发平台那页需要截个图(只勾选ZYNQ 7000平台),命名为 01.png。 ### 2.2 安装 WSL2 DTA TODO ### 2.3 安装 Petalinux 2025.2 DTA TODO > 参考北航云盘 `文档/course_s4_ZYNQ那些事儿-Linux实验篇V1.07.pdf` 的《第三章 Petalinux 工具安装》,统一安装到 `/opt/pkg/petalinux` 下。 > ## 3 实验任务 ### 3.1 任务一:基于 Vivado 生成硬件描述文件 #### 3.1.1 新建工程 - 打开 Vivado 软件,在欢迎页点击 `Create Project`。 - 填写项目名和项目路径,继续下一步。 ![](images/02.png) - 如下图取消勾选第一个多选框,不指定源文件,之后一直点击下一步。 ![](images/03.png) - 选择 FPGA 型号,可以使用上面筛选条件:`Zynq-7000` 系列,封装为 `clg400`,速度等级为 `-2`。选择 `xc7z020clg400-2`,继续下一步,完成工程创建。 ![](images/04.png) #### 3.1.2 创建 Block Design - 点击左边 `Create Block Design` 创建 Block Design,默认名称为 `design_1`。 - 点击加号搜索 ZYNQ 的 Processing System(PS),添加该 IP。 ![](images/05.png) - 添加成功后便会在窗口中间出现 PS 模块,双击进入配置,如图。 ![](images/06.png) #### 3.1.3 配置 PS - **配置 DDR**:DDR 的型号见官方文档(北航云盘 `文档/AX7020_UG.pdf`),参考如下配置。 ![](images/07.png) ![](images/08.png) - **启用 UART**:如下图选择 `UART1`,对应 `48-49` 端口。 > 为什么这么选?参见北航云盘 `文档/AX7020开发板原理图V2.0.pdf` 第 4 页如下端口。 > > ![](images/09.png) ![](images/10.png) - **启用 SD 卡**:如下图选择 `SD0`,对应 `40-45` 端口。 ![](images/18.png) - **启用网口**:如下图选择 `Enet0`,对应 `16-27` 端口。 ![](images/19.png) - **启用 MDIO**:展开 Ethernet 0,如下图选择 `MDIO`,对应 `52-53` 端口。 ![](images/23.png) - **UART 波特率配置**:如下图波特率配置为 `115200`,之后会用到。 ![](images/11.png) - **配置 Bank 电压**:如下图 Bank0 和 Bank1 的电压分别设置为 `LVCMOS 3.3V` 和 `LVCMOS 1.8V`。 ![](images/12.png) - **移除 GP0**:如下图取消勾选。 ![](images/13.png) - **移除 PS 提供给 PL 的时钟**:如下图取消勾选。 ![](images/14.png) - **移除 PS 提供给 PL 的时钟复位接口**:如下图取消勾选。 ![](images/15.png) - 点击 OK,得到如下 PS 模块。 ![](images/16.png) - 点击上面的 `Run Block Automation`,自动生成端口。 - 点击上面的勾号图标(Validate Design)检查是否有错误。 ![](images/17.png) #### 3.1.4 生成硬件描述文件 - 按下图操作,生成输出文件. ![](images/20.png) - 按下图操作,生成顶层 wrapper,选择由 Vivado 自动更新。 ![](images/21.png) - 按下图操作导出硬件,因为本次实验不包含 PL ,所以无需生成 bitstream,默认在项目目录下生成 `.xsa` 文件,这里统一命名为 `system.xsa`。 ![](images/22.png) ### 3.2 任务二:制作 SD 卡 DTA TODO > 可以参考之前课程的文档,需要分成FAT和EXT两个分区。 ### 3.3 任务三:编译 Linux - 加载 PetaLinux 环境。 ```bash cd lab3-zynq source /opt/pkg/petalinux/settings.sh ``` - 创建 PetaLinux 工程,以下命令将会在 `lab3-zynq` 下生成 `ax_peta` 目录,进入目录。 ```bash petalinux-create --type project --template zynq --name ax_peta cd ax_peta ``` - 执行以下命令,使用前面生成的 XSA 文件**配置 PetaLinux 工程的硬件信息**,将会打开下图所示的图形化界面,本实验全部使用默认配置,Save 之后直接 Exit 即可。 ```bash petalinux-config --get-hw-description ``` > Windows 目录下的文件挂载在 `/mnt/盘符` 下,比如项目路径为 `D:/lab3_vivado_ws`,则 XSA 文件路径可以写 `/mnt/d/lab3_vivado_ws/system.xsa`。 ![](images/27.png) - 执行以下命令**配置 Linux 内核**,中途会打开图形化界面,全部保持默认,Save 后 Exit 即可。 ```bash petalinux-config -c kernel ``` > 如果遇到网络问题实在无法解决,可以在北航云盘 `编译缓存` 文件夹中下载 `downloads.tar.gz` 和 `sstate-cache.tar.gz`,解压后得到 `downloads` 和 `sstate-cache` 替换 `ax_peta/build/` 下的同名文件,再执行命令即可。 ![](images/28.png) - 执行以下命令配置根文件系统,同样会打开图形化界面,保持默认,Save 后 Exit 即可。 ```bash petalinux-config -c rootfs ``` ![](images/29.png) - 执行以下命令**编译 PetaLinux**。 ```bash petalinux-build ``` - 执行以下命令**生成 BOOT 文件**,将会在 `images/linux/` 路径下生成 `BOOT.BIN` 文件。 ```bash petalinux-package boot --fsbl ./images/linux/zynq_fsbl.elf --u-boot --force ``` - 将 `images/linux/` 路径下的 `BOOT.BIN` 和 `image.ub` 复制到 SD 卡,复制前最好先格式化一下 SD 卡,然后插到开发板上,开发板设置到 SD 卡启动 - 将 SD 卡使用读卡器插入电脑, - 运行脚本部署到 SD 卡 ```bash ./scripts/deploy_sd_replace.sh ``` ### 3.4 任务四:在开发板上运行 MiniMind 软件流程 #### 3.3.1 配置串口工具 - 连接开发板的电源、UART、网口。 - 安装串口驱动,见北航云盘 `驱动/CP210x_Windows_Drivers.zip`,自行下载并安装。 - 自行下载 `PuTTY` 软件。 - 在设备管理器中观察串口号,如下图。 ![](images/24.png) - 在 PuTTY 中进行如下设置,填入上面的串口号和之前设置过的波特率。 ![](images/25.png) - 如下图确认一下串口的校验(Parity)和流控(Flow control)都是 None。 ![](images/26.png) - 点击 `Open` 打开会话。 ## 4 作业提交 DTA TODO 撰写实验报告,需要包含以下内容: - 各任务的流程总结,因为实验步骤繁琐,希望大家能简要梳理一下。 - 各任务完成的截图。 - 开发板上运行 MiniMind 的结果,分析性能瓶颈。 并回答以下问题: - 请搜索了解 `petalinux-config --get-hw-description` 命令的配置项,尤其是 `Subsystem Hardware Settings` 中的各项。 - ……