[讨论] C6678 EDMA 搬运有内存保护吗?

bianpang   2014-11-21 17:39 楼主
各位老师好,

   我再6678平台下,用edma的CC1做数据搬运。pingset:将数据从一个内存固定源地址src搬到内存ping区域,pongset:将数据从该地址搬到pong区域。ping和pong在msm上。

ping pong搬运相互link。当ping搬运完成之后,edma发出中断,core0对ping区域进行处理,pong搬运完之后,core0处理pong数据。

现在中断程序只是简单的将ping或pong区域的数据搬运到另外一个数组里面,然后问题出现了,如果中断程序什么都不做,则edma可以正确的进行ping pong搬运,但是如果中断程序里面对ping区域进行了访问,则edma下一次搬到ping里面的数据就不是src地址的数据了。pong也是这样。

不知道是不是对内存做了保护,但是我看了mpu的介绍,发现它保护的空间并没有到0x0cxxxxx,也就是没有对msm进行保护。在msmc里面,priID0~15,也没有edma啊,为什么edma的对内存的访问会受到限制呢?

回复评论 (1)

Edma还没用过,帮不上忙,帮顶一下
点赞  2014-11-21 17:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复