0%

ZYNQ嵌入式之hello_word简单示例(基于PYNQ-Z2开发板)

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

ZYNQ嵌入式系统开发流程

image-20230921135446231

Vivado的相关配置

  • 添加zynq芯片并点击自动配置

image-20230921135727546

image-20230921135837894
  • 去掉本次实验不需要用到的M AXI GP0

    image-20230921140039379

  • 去掉本次实验不需要用到的FCLK_CLK0

    image-20230921141722902

  • 去掉本次实验不需要用到的FCLK_RESET0_N

    image-20230921142157840

  • 生成顶层文件

    image-20230921142404439

  • 导出硬件

    image-20230921142518319 image-20230921142629056

Vitis的相关配置

  • 在vivado中打开vitis(或者直接打开vitis)

    image-20230921142839899
  • 选择vitis工程的文件夹

    image-20230921143202809
  • 点击创建application

    image-20230921143259191
  • 选择硬件平台

    image-20230921143502322
  • 添加app的名字

    image-20230921143646976

  • 一路next之后选择一个空的C++文件

    image-20230921143737181

  • 添加C++文件

    image-20230921143909850 image-20230921144008898
  • 在main.cpp添加如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include<iostream>

    using namespace std;

    int main(void)
    {
    cout << "hello world!" << endl;
    cout << "hello ssy!" << endl;

    return 0;
    }
  • 调出串口终端的窗口:

    image-20230921144236932 image-20230921144321706 image-20230921144455592

结果展示

image-20230921230729442

Attention

  • 如果按照正常的zynq手动配置(即只配置ddr和uart)pynq板,最终打印不出东西

  • 解决办法是,在网上下载pynq-z2的board file,以完成自动配置

    image-20230921144922992

  • 弄好之后创建工程时可以在board中选择板子

    image-20230921145118544
  • 虽然这样能解决问题,但依旧不明白手动配置为什么不行,可能pynq和zynq的配置还是有差别吧

欢迎来到ssy的世界