自己要多次使用edma,只有第一次能使用,第二次用edma3init 错误码是-128,edma object 没有删除。但是我第一次使用edma时,使用了edma3deinit函数,它的返回值是0,说明应经关闭了dema driver instance 并删除了edma object.后来又用EDMA3_DRV_close和EDMA3_DRV_delete函数,依然不弄再次使用edma.
这是怎么回事,我该怎么解决呢?
2018-8-7 08:49:50
我现在测试了edma3init EDMA3_DRV_requestChannel EDMA3_DRV_freeChannel edma3deinit这四个函数组成的edma(没有传输过程),再次使用edma3init 时是不会有问题的.
难道是应给传输造成的吗?
EDMA的状态寄存器怎么查看呢?
我现在测试了edma3init EDMA3_DRV_requestChannel EDMA3_DRV_freeChannel edma3deinit这四个函数组成的edma(没有传输过程),再次使用edma3init 时是不会有问题的.
难道是应给传输造成的吗?
EDMA的状态寄存器怎么查看呢?
举报
2018-8-7 09:00:44
这个问题自己已经解决了,是因为一个比较大的数组自己没有定义它的位置,它的空间与edma有关的一些空间发生重叠,导致赋值的时候修改了edma本身的一些参数。
这个问题自己已经解决了,是因为一个比较大的数组自己没有定义它的位置,它的空间与edma有关的一些空间发生重叠,导致赋值的时候修改了edma本身的一些参数。
举报