This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EDMA3 第一次申请通道就失败了返回错误码-132



hi:

1.

我目前遇到一个奇怪问题,我使用EDMA3 来申请DMA通道时候。具体调用函数

EDMA3_DRV_requestChannel()。但是,奇怪的是,我工程里面其他地方从来没有

使用DMA,只有这个函数中使用了,为什么会申请失败呢?返回值不等于EDMA3_DRV_SOK.

而是-132错误码。我跟了下,是因为EDMA3_DRV_requestChannel里面调用函数

EDMA3_RM_allocResource()返回失败导致。再深入下去没跟。问题是,为什么第一次申请

就会失败,如果是申请很多通道了,然后可能导致申请不到,问题是,我程序中只有一个地方

使用。竟然返回失败。太诡异了。

2.

另外,我想问下,EDMA3  通道申请,是不是随机的,是系统自动分配通道么?上面requestChannel

函数似乎不能指定具体通道的。 

  • Armstrong 说:

    hi:

    1.

    我目前遇到一个奇怪问题,我使用EDMA3 来申请DMA通道时候。具体调用函数

    EDMA3_DRV_requestChannel()。但是,奇怪的是,我工程里面其他地方从来没有

    使用DMA,只有这个函数中使用了,为什么会申请失败呢?返回值不等于EDMA3_DRV_SOK.

    而是-132错误码。我跟了下,是因为EDMA3_DRV_requestChannel里面调用函数

    EDMA3_RM_allocResource()返回失败导致。再深入下去没跟。问题是,为什么第一次申请

    就会失败,如果是申请很多通道了,然后可能导致申请不到,问题是,我程序中只有一个地方

    使用。竟然返回失败。太诡异了。

    2.

    另外,我想问下,EDMA3  通道申请,是不是随机的,是系统自动分配通道么?上面requestChannel

    函数似乎不能指定具体通道的。 

    第一个问题解决了,是自己没看清楚,因为那个函数调用了很多次,只是申请通道,没有释放,

    才导致的。不好意思!

    但是第二个问题还不是很明白。

    谢谢大家关注!