ZYNQ学习笔记——14_AXI4_DDR实验

14_AXI4_DDR实验

通过自定义一个AXI4接口的IP核,通过AXI_HP接口对PS端DDR3进行读写测试。

实验过程

  • 自定义IP核
  • 设计Block Design

​ ZYNQ芯片的配置在“hello world”实验的基础上,做出一下修改:

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

  • 添加自定义的IP核
  • 添加按键消抖模块
  • 连接好引脚,Generate;Create HDL;设计I/O Ports;导出BitStream

在这里插入图片描述

代码

#include "stdio.h"
#include "xil_printf.h"
#include "xil_cache.h"
#include "xil_io.h"

int main()
{
	int i;
	char c;

	Xil_DCacheDisable();	//关闭数据缓存
	xil_printf("AXI4 PL DDR TEST !\n");

	while(1)		//不断判断输入的字符
	{
		scanf("%c",&c);
		if(c == 'c')
		{
			printf("START !\r\n");
			for(i=0;i<4095;i=i+4)	//
			{
				printf("%d is: %d\n",i,(int)(Xil_In32(0x10000000+i)));
			}
			/*通过一个 for 循环开始从地址 0x1000_0000 读取 DDR3 存储器的数据
			 * 读取的存储空间大小为 4KB
			 */
		}
	}
	return 0;
}

实验现象:在串口中输入“c”,程序会打印从 DDR3 中读出数据,串口打印出了 DDR3 存储空间中从地址 0x1000_0000 开始的 1024 个数据,每个数据 占 4 个字节;开发板上电后,在没对该地址空间进行写操作之前,DDR3 中的数据是随机的。

按下按键,LED1点亮,再次输入“c”,DDR3 中指定的 4KB 存储空间中读出的数据依次为 1 到 1024, 与 AXI4_RW_TEST IP 核写入的数据一致。

该实验,视频中讲解了波形Debug

参考

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值