当前位置: 首页 > article >正文

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

目录

    • HELLO WORLD
    • 创建vivdao工程
    • BLOCK DESIGN
      • Create Block Design
      • 添加PS模块
      • 双击进行配置
      • 进行DDR和UART的配置,并取消不需要的接口
      • Generate Output Products
    • 生成HDL
      • Create HDL Wrapper
    • 生成BITSTREAM 导出硬件XSA
    • 创建一个Vitis项目
      • 调试
      • 输出结果
    • EBAZ4203的特殊配置
      • 重新生成XSA
  • CG

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 文件。这个文件是一个简单的模板程序:

#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

  • Vitis2022.2里如何更新比特流(.xsa)文件
  • Vivado更新比特流(.xsa)文件后,如何在vitis中更新硬件bsp文件?
  • 正点原子 ZYNQ&MPSoC系列之嵌入式Vitis软件开发

http://www.kler.cn/a/526738.html

相关文章:

  • 记录一次,PyQT的报错,多线程Udp失效,使用工具如netstat来检查端口使用情况。
  • 【Block总结】DynamicFilter,动态滤波器降低计算复杂度,替换传统的MHSA|即插即用
  • 每日一题——序列化二叉树
  • 数仓ETL测试
  • FPGA 使用 CLOCK_LOW_FANOUT 约束
  • 力扣【416. 分割等和子集】详细Java题解(背包问题)
  • ADC 精度 第二部分:总的未调整误差解析
  • 33333333333
  • Autogen_core 测试代码:test_cancellation.py
  • Electron工具Electron Fiddle
  • 【TypeScript】TypeScript 运算符
  • AI 的安全性与合规性:实践中的最佳安全策略
  • 【Block总结】PKI 模块,无膨胀多尺度卷积,增强特征提取的能力|即插即用
  • 【华为OD-E卷 - 分积木 100分(python、java、c++、js、c)】
  • Autogen_core: test_code_executor.py
  • 算法---快速排序
  • Python3 【集合】避坑指南:常见错误解析
  • 【解决方案】MuMu模拟器移植系统进度条卡住98%无法打开
  • 快速提升网站收录:避免常见SEO误区
  • 深入解析JPA实体监听器的使用与实践
  • AI学习指南HuggingFace篇-Hugging Face 的环境搭建
  • 自由学习记录(33)
  • INCOSE需求编写指南-附录 B: 首字母缩略词和缩写
  • 详解python的单例模式
  • DeepSeek-V3技术报告解读
  • Cocos Creator 3.8 2D 游戏开发知识点整理