ZYNQ 7000 Vivado 裸机开发(一)hello_world

vivado版本:Vivado 2019.2
SOC:
本例程实现从串口持续打印"hello_world",只进行PS端的开发,不涉及PL端。

一、新建Vivado工程
打开Vivado软件->Create Project,一路点击Next,遇到项目名称,将项目名称由project_ 1改为hello_world,保存到合适的位置:
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第1张图片

再一路Next,进入器件选型界面,如下图,选择xc7z020clg400-2,然后一路Next,最后Finsh.
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第2张图片
二、新建块设计
点击下图红色圈中的Create Block Design:
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第3张图片
将设计名由design_1,更改为system,点击OK。
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第4张图片
三、添加PS端的IP核
点击下图红色圈总的+号,即可列出所有的IP,
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第5张图片
在Search框中输入ZYNQ,然后选择ZYNQ7 Processing System双击即可。
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第6张图片
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第7张图片
由上图可看到,PS端的IP核已添加到Block Design ,双击即可配置该IP核:
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第8张图片
配置总共有一下几个方面:
PS-PL Configuration ,PS-PL AXI总线的配置
MIO Configuration ,PS 外设的配置
Clock Configuration ,PS和PL的时钟配置
DDR Configuration ,PS外接 DDR的配置
SMC Configuration ,PS外接 NAND,NOR,SRAM配置
Interupt ,PS和PL中断的配置
配置项较多,可以直接点击Presets–>Apply Configuration 添加已有的tcl配置文件,配置完成后,可以点击Presets–>Save Configuration,可以保存已有的配置文件。
配置完成后,点击顶部的Run Block Automation->OK
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第9张图片
四、生成综合文件
选择Source->System->Generate Output Products,选择Global选型,然后点击Generate
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第10张图片
五、生成项目顶层封装文件
选择Source->System->Create HDL Wrapper->OK
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第11张图片
六、生成位流文件
点击左下角的PROGRAM AND DEBUG->Generate Bitstream->Yes->ok

ZYNQ 7000 Vivado 裸机开发(一)hello_world_第12张图片
七、导出硬件配置
File->Export->Export Hardware,勾选include bitstream,然后点击OK。
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第13张图片
八、启动SDK,创建SDK工程
File->Launch SDK->OK,进入SDK软件界面
首先建立一个fsbl工程,在SDK软件的File->File->New->Application Project新建工程,在工程名处填写fsbl,点击Next
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第14张图片
在工程模板中选择Zynq FSBL,点击Finsh
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第15张图片
九、建立hello_world工程
在SDK软件的File->File->New->Application Project新建工程,在工程名处填写hello_world,勾选
Use existing:fsbl_bsp选型,然后点击Next,
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第16张图片
在工程模板中选择Hello World,点击Finsh,工程建好如下:
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第17张图片
十、修改文件,编译工程
添加所需的头文件

#include "sleep.h"

将主函数修改如下:

int main()
{
    init_platform();
    
    while(1)
    {
    	print("Hello World\n\r");
    	sleep(5);
    }
    

    cleanup_platform();
    return 0;
}

修改后的程序功能为,每5S从串口输出一次Hello World字符串。
点击菜单Project->Build Project,编译工程项目。

十一、创建启动镜像文件

点击菜单Xilinx->Create Boot image,选择Create new file 并选择output.bif文件存放的位置。
点击下方的Adda按钮,分别添加fsbl.elf,system_wrapper.bit,hello_world.elf三个文件,最后点击Create image即可生成镜像文件BOOT.bin.
ZYNQ 7000 Vivado 裸机开发(一)hello_world_第18张图片
十二、上电测试
将SD格式化为fat32格式,将生成的BOOT.bin文件拷入SD,将SD插入你的板子,并设置为SD启动,并接好串口,将串口波特率设置为115200,1位停止位,无效验,无硬件控制模式。
上电后,观察串口输出如下:

你可能感兴趣的:(ZYNQ)