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

相关推荐
techdashen15 小时前
从网络栈继续往下:micro:bit、2.4GHz、调制方式,以及一个不太靠谱但很有趣的想法
网络·fpga开发
FPGA小徐15 小时前
FIR 数字滤波器 --verilog设计实现
fpga开发
zlinear数据采集卡15 小时前
从协议解析到波形实时显示:硬核拆解ZLinear采集卡上位机软件的开发架构
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
pcjiushizhu15 小时前
ModelSim 仿真时 Simulate 无反应或只显示 Loading 的解决方法:网卡问题排查
fpga开发
奔跑的架构师17 小时前
[A-48]ARMv9/v8-电源状态管理机制(PSCI协调机制)
android·linux·arm开发·arm
想你依然心痛17 小时前
RT-Thread组件生态:SAL网络框架与AT组件实战——网络抽象、AT指令
网络·arm开发·at·sal
FPGA小迷弟19 小时前
vivado中的AXI Interconnect到底应该怎么用,他的底层原理是什么,一篇文档全部理清楚!!!
网络协议·tcp/ip·fpga开发·verilog·fpga
国科安芯1 天前
ASC4T245S分组双向控制架构深度解析:独立DIR/OE控制、QFN16封装与混合方向总线桥接
单片机·嵌入式硬件·物联网·fpga开发·架构·risc-v
secondyoung1 天前
Cortex-R52学习:存储系统
arm开发·单片机·学习·arm
c++之路1 天前
C++跨平台(九):跨平台字节序统一处理
开发语言·arm开发·c++