本节主要了ZYNQ嵌入式系统开发的流程,并以hello world实例作为简单演示
ZYNQ嵌入式系统开发流程

Vivado的相关配置
- 添加zynq芯片并点击自动配置

去掉本次实验不需要用到的M AXI GP0
去掉本次实验不需要用到的FCLK_CLK0
去掉本次实验不需要用到的FCLK_RESET0_N
生成顶层文件
导出硬件
Vitis的相关配置
在vivado中打开vitis(或者直接打开vitis)
选择vitis工程的文件夹
点击创建application
选择硬件平台
添加app的名字
一路next之后选择一个空的C++文件
添加C++文件
在main.cpp添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
using namespace std;
int main(void)
{
cout << "hello world!" << endl;
cout << "hello ssy!" << endl;
return 0;
}调出串口终端的窗口:
结果展示

Attention
如果按照正常的zynq手动配置(即只配置ddr和uart)pynq板,最终打印不出东西
解决办法是,在网上下载pynq-z2的board file,以完成自动配置
弄好之后创建工程时可以在board中选择板子
虽然这样能解决问题,但依旧不明白手动配置为什么不行,可能pynq和zynq的配置还是有差别吧