目录
-
- [HELLO WORLD](#HELLO WORLD)
- 创建vivdao工程
- [BLOCK DESIGN](#BLOCK DESIGN)
-
- [Create Block Design](#Create Block Design)
- 添加PS模块
- 双击进行配置
- 进行DDR和UART的配置,并取消不需要的接口
- [Generate Output Products](#Generate Output Products)
- 生成HDL
-
- [Create HDL Wrapper](#Create HDL Wrapper)
- [生成BITSTREAM 导出硬件XSA](#生成BITSTREAM 导出硬件XSA)
- 创建一个Vitis项目
- EBAZ4203的特殊配置
- CG
HELLO WORLD
- 在Vitis嵌入式软件中,编写一个简单的 "Hello, World!",需要先用VIVADO导出硬件信息给VITIS,然后在VITIS中编写代码,进行JTAG烧录和UART输出查看。
创建vivdao工程
![](https://i-blog.csdnimg.cn/direct/943ddbb38b32434fabe1a4a181dccda8.png)
BLOCK DESIGN
Create Block Design
![](https://i-blog.csdnimg.cn/direct/fdd779b762c948e2b653b635842e5b88.png)
添加PS模块
![](https://i-blog.csdnimg.cn/direct/8f21d44fe8c146c295db59dd20dfeb5f.png)
双击进行配置
![](https://i-blog.csdnimg.cn/direct/a33ad5c3c72d4198ab42f454dd24a013.png)
进行DDR和UART的配置,并取消不需要的接口
![](https://i-blog.csdnimg.cn/direct/744eadff451246928e06b81e13255814.png)
![](https://i-blog.csdnimg.cn/direct/3db0229337514a6a823a202709b86405.png)
- 键盘F6验证BLOCK DESIGN设计
Generate Output Products
![](https://i-blog.csdnimg.cn/direct/70d3efa66c0a48d29395f03fb2e0463d.png)
生成HDL
Create HDL Wrapper
![](https://i-blog.csdnimg.cn/direct/a51f71a82c3847198f396dca3a9e090d.png)
生成BITSTREAM 导出硬件XSA
- 不包含PL端直接导出硬件
创建一个Vitis项目
- 打开Vitis IDE:
tool -> launch vitis->选择之前的文件夹
- 选择
File
->New
->Application Project
。然后选择刚才创建的xsa硬件信息文件。 在弹出的对话框中,输入项目的名称(例如helloworld
)。 在选择应用类型的页面中,选择Hello World
模板,点击Next
。配置好工程选项,然后点击Finish
完成项目创建。
![](https://i-blog.csdnimg.cn/direct/60589ac91f3b45f3a901324b48360836.png)
-
代码编辑界面如下:
-
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
按钮进行项目构建,确保没有编译错误。
- 构建完成后,你可以选择将程序下载到目标硬件(如ZCU、ZedBoard等)上,或者使用仿真来运行程序。
- 点击
Run
按钮启动程序。程序执行后,应该会在控制台或串口终端中看到 "Hello, World!" 输出。
调试
![](https://i-blog.csdnimg.cn/direct/8949140c6fd34cebaedfcaebbaa9a318.png)
输出结果
![](https://i-blog.csdnimg.cn/direct/994b2a30dc374232b63d0eae2691a5d0.png)
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
![](https://i-blog.csdnimg.cn/direct/f3f84fa836e745a4b331c6b435acbc3e.png)
-
重新BUILD
-
重新添加一下
platform