特权同学玩转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 板级调试