VIP20
本课程属于:023-Zynq平台开发 芯片设计与FPGA · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

从零搭建Zynq开发环境

📚 共计 30 章节
01
Zynq初识
Zynq是什么?Zynq-7000系列芯片架构概览(PS与PL),Zynq的应用领域。
概念架构
02
开发板选型
主流Zynq开发板介绍(ZedBoard、PYNQ-Z2、ZCU104等),如何根据项目需求选择开发板。
硬件选型
03
Vivado安装
Vivado Design Suite的下载与安装,安装选项详解(Vivado、Vitis、DocNav),License配置。
工具环境
04
Vitis安装
Vitis统一软件平台的安装,与Vivado的版本匹配关系,安装后的环境验证。
工具IDE
05
PetaLinux安装
PetaLinux工具链的安装,依赖库安装,设置PetaLinux环境变量。
Linux工具链
06
硬件描述语言基础
Verilog/VHDL快速回顾,Zynq开发中常用的HDL语法,模块化设计思想。
HDL基础
07
Vivado工程创建
新建Vivado工程,选择器件型号,添加源文件,RTL分析。
工程流程
08
Block Design入门
什么是IP Integrator,创建Block Design,添加Zynq Processing System IP。
IPI图形化
09
Zynq PS配置
配置Zynq PS核(时钟、DDR、UART、I2C、SPI等外设),MIO与EMIO的区别。
PS外设
10
添加自定义IP
使用Vivado IP Packager封装自定义IP,将自定义IP添加到Block Design中。
IP封装
11
Block Design连线与验证
自动连线(Run Connection Automation),手动连线,地址映射,Validate Design。
连线验证
12
生成Bitstream
综合(Synthesis)、实现(Implementation)、生成比特流,时序约束基础。
实现比特流
13
导出硬件描述文件
导出XSA文件(硬件平台文件),理解XSA的作用。
XSA导出
14
Vitis工作空间创建
启动Vitis,创建工作空间,创建应用工程(Application Project)。
Vitis工作空间
15
Hello World实验
编写第一个Zynq裸机程序(Hello World),通过UART打印输出。
裸机UART
16
GPIO控制
使用AXI GPIO IP控制PL端LED,MIO控制PS端LED,GPIO中断。
GPIO中断
17
定时器与中断
使用PS的私有定时器(Private Timer),配置中断控制器(GIC),编写中断服务函数。
定时器GIC
18
UART通信
PS端UART配置与编程,PL端UART Lite IP使用,串口调试技巧。
UART调试
19
I2C通信
PS端I2C控制器配置,读写EEPROM或传感器,I2C总线协议回顾。
I2CEEPROM
20
SPI通信
PS端SPI控制器配置,驱动SPI Flash或ADC/DAC芯片。
SPIFlash
21
DMA传输
理解AXI DMA IP,PS与PL之间的高速数据传输,Scatter-Gather模式。
DMA高速
22
VDMA与视频通路
AXI VDMA IP介绍,搭建简单的视频通路(Video In to Video Out)。
VDMA视频
23
PetaLinux工程创建
创建PetaLinux工程,导入XSA文件,配置Linux内核。
PetaLinux工程
24
设备树
设备树(Device Tree)基础,修改设备树以适配自定义硬件,编译设备树。
设备树DTS
25
Linux内核编译
配置内核选项,编译内核,生成uImage/Image。
内核编译
26
根文件系统构建
使用PetaLinux构建根文件系统,添加自定义应用,打包BOOT.BIN。
根文件系统BOOT.BIN
27
SD卡启动
制作SD启动卡,分区格式(FAT32 + ext4),拷贝启动文件,上电启动Linux。
SD卡启动
28
Linux驱动开发基础
字符设备驱动框架,编写简单的GPIO驱动,模块加载与卸载。
驱动模块
29
AXI驱动开发
在Linux下访问AXI外设,使用UIO或mmap方式,用户空间驱动。
AXIUIO
30
综合项目实战
结合PS与PL,完成一个综合项目(如:基于Zynq的网络摄像头或数据采集系统),总结开发流程。
项目实战