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

相关推荐
FPGA小迷弟16 小时前
FPGA状态机设计详解:从Moore到Mealy的完整指南
fpga开发·fpga
Chief_fly16 小时前
【Windows 下载 ARM64 deb 包 麒麟 ARM 离线安装】
arm开发·windows
zlinear数据采集卡1 天前
D223的PWM电机控制:6路独立脉冲+加减速算法深度解析
arm开发·stm32·嵌入式硬件·算法·fpga开发·架构
奔跑的架构师1 天前
[A-49]ARMv9/v8-PSCI接口规范与工作流程简介
android·linux·arm开发·arm
振南的单片机世界1 天前
硬核菊花链:3个GPIO+无限74HC595=端口扩展“无限套娃”
arm开发·stm32·单片机·嵌入式硬件
zlinear数据采集卡1 天前
ZLinear产品线全景对比:D223 vs DABL7606 vs DABL-G511选型指南
arm开发·嵌入式硬件·算法·fpga开发·开源
runafterhit1 天前
【学习地图】ARM嵌入式类 · 文章索引
arm开发·学习
工业设备方案笔记2 天前
RK3588工业视觉检测方案详解:AI如何赋能智能制造?
arm开发·人工智能·计算机视觉·目标跟踪·视觉检测·边缘计算·制造
何事误红尘2 天前
ZYNQ学习FPGA笔记(一):vivado安装、XC7Z045
fpga开发
不正经学生2 天前
C语言大小端字节序:内存里字节的排列顺序
c语言·开发语言·arm开发·c++·算法·c#