fpga系列 硬件:FPGA VITIS PS端HELLO WORLD在 ZYNQ EBAZ4203板上实现

目录

HELLO WORLD

  • 在Vitis嵌入式软件中,编写一个简单的 "Hello, World!",需要先用VIVADO导出硬件信息给VITIS,然后在VITIS中编写代码,进行JTAG烧录和UART输出查看。

创建vivdao工程

BLOCK DESIGN

Create Block Design

添加PS模块

双击进行配置

进行DDR和UART的配置,并取消不需要的接口

  • 键盘F6验证BLOCK DESIGN设计

Generate Output Products

生成HDL

Create HDL Wrapper

生成BITSTREAM 导出硬件XSA

  • 不包含PL端直接导出硬件

创建一个Vitis项目

  • 打开Vitis IDE: tool -> launch vitis->选择之前的文件夹
  • 选择 File -> New -> Application Project。然后选择刚才创建的xsa硬件信息文件。 在弹出的对话框中,输入项目的名称(例如 helloworld)。 在选择应用类型的页面中,选择 Hello World 模板,点击 Next。配置好工程选项,然后点击 Finish 完成项目创建。
  • 代码编辑界面如下:

  • IDE中代码背景为灰色部分为无效代码,不执行

  • 在项目结构中找到 src 文件夹,打开 helloworld.c 文件。这个文件是一个简单的模板程序:

c 复制代码
#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"

int main()
{
    init_platform();

    print("Hello World\n\r");
    print("Successfully ran Hello World application");
    cleanup_platform();
    return 0;
}
  • 在Vitis中点击 Build 按钮进行项目构建,确保没有编译错误。
  1. 构建完成后,你可以选择将程序下载到目标硬件(如ZCU、ZedBoard等)上,或者使用仿真来运行程序。
  2. 点击 Run 按钮启动程序。程序执行后,应该会在控制台或串口终端中看到 "Hello, World!" 输出。

调试

输出结果

EBAZ4203的特殊配置

  • 串口:串口引出管脚,电平逻辑3.3V,需要连接GND,交叉连接RXD、TXD。

  • 串口电路和EBAZ4205一样(DDR可能有所不同)

  • DDR需要正确配置,否则程序无法正常输出 :DDR3,MT41K256M 16 RE-125,16Bit

  • UART配置:UART1,MIO24 & MIO25

  • 可以重新生成XSA再加载,也可以重新生成后再创建一个新的项目,因为再次加载步骤也很多。

重新生成XSA

  • 重新生成XSA,然后更新XSA
  • Reset BSP Sources
  • 重新BUILD

  • 重新添加一下platform


CG

相关推荐
女神下凡3 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
从零开始的嵌入式之旅3 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
博览鸿蒙3 天前
FPGA开发使用的语言
fpga开发·fpga
老当益壮梁奶奶3 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
明德扬3 天前
机器人多摄像头如何做FPGA多路视频聚合?
学习·fpga开发·fpga
昌原的儿子LEO3 天前
IMX6ULL 时钟系统与 EPIT/GPT 定时器原理与配置
arm开发·学习
sunoo-2293 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
M78佐菲4 天前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
JoYER_cc4 天前
FPGA 调试实录:LED 闪烁程序从踩坑到仿真验证的完整经验总结
fpga开发
sunoo-2294 天前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机