玩转Zynq连载36——[ex55] 基于VIO在线板级调试的AXI GP总线读写实例

…衆ロ難τιáo~ 提交于 2020-01-22 09:55:47

特权同学玩转Zynq连载36——[ex55] 基于VIO在线板级调试的AXI GP总线读写实例

在这里插入图片描述
1 概述
本实例(zstar_ex55)在zstar_ex54的基础上,增加Virtual IO(VIO)实现在线板级调试的功能,意图让大家学会VIO这种基于FPGA的简单实用的在线板级调试手段。

2 PL代码中VIO的配置和例化
PL工程中,需要将作为开关量控制或状态显示的信号连接到VIO IP核的接口中。具体可以参考文档《玩转Zynq-工具篇:基于Vivado的Virtual IO在线板级调试.pdf》。

3 嵌入式软件修改
参考文档《玩转Zynq-工具篇:导出PS硬件配置和新建SDK工程.pdf》导出PS硬件工程,并打开EDK新建一个HelloWorld的模板工程。
修改HelloWorld工程中的HelloWorld.c源码如下。每隔1s递增变量second,同时将该数据写入到地址0x43c00008寄存器中(即PL中的reg_second寄存器),同时每隔5s读取一次0x43c0000c地址的数据值(即PL中的reg_rdtest寄存器),并且打印读出的数据。
在这里插入图片描述
4 板级调试
在Zstar板子上,设置跳线帽P3为JTAG模式,即PIN2-3短接。
连接好串口线(USB线连接PC的USB端口和Zstar板的UART接口)和Xilinx下载线(下载器连接PC的USB端口和Zstar板的JTAG插座)。使用5V电源给板子供电。
参考文档《玩转Zynq-工具篇:SDK在线运行裸跑程序.pdf》将当前工程产生的.bit文件和.elf文件在Zstar板上运行起来。
打开PuTTY,设定好串口号和波特率115200,可以看到不断的打印如下的信息。
在这里插入图片描述
VIO显示信号和PuTTY打印信息的比照调试,可以参考文档《玩转Zynq-工具篇:基于Vivado的Virtual IO在线板级调试.pdf》。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!