SDK 程序卡在 AXI DMA 配置 (XAxiDma_CfgInitialize)的解决方法

在进行 AXI DMA 配置 时候代码一直卡在XAxiDma_CfgInitialize函数出不来,也没有打印报错。



	/* Initialize the XAxiDma device.
	 */
	CfgPtr = XAxiDma_LookupConfig(DeviceId);
	if (!CfgPtr) {
		xil_printf("No config found for %d\r\n", DeviceId);
		return XST_FAILURE;
	}
	xil_printf("XAxiDma_Setup0\r\n");
	Status = XAxiDma_CfgInitialize(&AxiDma, CfgPtr);
	if (Status != XST_SUCCESS) {
		xil_printf("Initialization failed %d\r\n", Status);
		return XST_FAILURE;
	}
    xil_printf("XAxiDma_Setup2\r\n");
    ...
 }

解决方法是,鼠标放在项目上右键打开Run as,打开Run Confiration查验下如下两项有没有勾选。
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
xaxidma_busy是指Xilinx AXI DMA控制器忙碌状态的指示符。AXI DMA控制器是用于数据传输的外设模块,常用于嵌入式系统中的高速数据传输。当xaxidma_busy被置位时,表示AXI DMA控制器正在忙碌状态中,正在执行某个数据传输操作,无法接收新的传输请求。 AXI DMA控制器的忙碌状态可能有以下几种情况引起: 1. 当前正在进行的数据传输尚未完成:当AXI DMA控制器正在执行数据传输操作时,例如将数据从主存储器传输到外设设备,控制器会一直忙碌直到数据传输完成。 2. 传输请求排队等待执行:如果AXI DMA控制器当前正在处理的数据传输请求较多,新的传输请求可能需要等待之前的传输完成后才能开始执行,因此控制器会一直处于忙碌状态。 3. 控制器初始化过程中:在控制器初始化或复位时,控制器可能需要进行一些配置和初始化操作,此时也会出现xaxidma_busy状态,表示控制器正在初始化过程中。 当我们需要使用AXI DMA控制器进行数据传输时,我们需要根据xaxidma_busy状态来判断控制器是否可用。只有当控制器不忙碌时,我们才能发送新的传输请求到控制器,并等待传输完成后再进行下一步操作。如果控制器处于忙碌状态,我们需要等待一段时间,直到控制器空闲后再发送传输请求。 综上所述,xaxidma_busy是指示AXI DMA控制器忙碌状态的标志,用于指示控制器是否可用进行新的数据传输操作。通过判断控制器是否忙碌,我们可以合理调度和管理数据传输的顺序和时机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稚肩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值