mk60 不能通过DMA把数据发送到位带区?

2020-02-11 09:51发布

搭建了一个框架完成了DMA的内存拷贝,过程很顺利,DMA完成中断也进去了。
然后想通过把 0 1 0 1这样的数据发送到GPIO的位带区,达到LED等亮灭的效果,直接把目标地址改成位带地址,偏移offset改成0,然后发现DMA根本不会传送数据。我不能理解,位带操作虽然特殊,但是毕竟也是有自己的地址的,怎么就不能传送数据了呢。

位带操作本来用的人就少,用dma传输就更少见了...不知道大家谁以前遇到过类似的问题,能不能给一下建议。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
tim4146
2020-02-11 13:10
aozima 发表于 2017-3-26 01:52
位带区是cortex-M内核模拟出来的,最终还是变成外设的真实地址,通过“读-修改-写”的方式来实现。
只是这 ...

您的讲解真心有用,位带操作相关的问题网上很少,更别说提DMA+位带的使用了。
您说到的“自带锁效果”这样的概念在M4的资料上面有提到的吗?
另外,说DMA访问不到这个区域是为什么呢?我以为DMA能访问任意地址呢....至少ram区和寄存器地址我都是用过没问题的。这次使用位带来亮灭LED也是无奈。

一周热门 更多>