搜索
bottom↓
回复: 5

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

[复制链接]

出5入4汤圆

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

位带操作本来用的人就少,用dma传输就更少见了...不知道大家谁以前遇到过类似的问题,能不能给一下建议。

出0入0汤圆

发表于 2017-3-26 01:52:40 | 显示全部楼层
本帖最后由 aozima 于 2017-3-26 01:54 编辑

位带区是cortex-M内核模拟出来的,最终还是变成外设的真实地址,通过“读-修改-写”的方式来实现。
只是这个“读-修改-写”是自带锁效果的,而不需要程序去主动关中断。

在总线矩阵上面,DMA是访问不到这个位带区的。
同时一些芯片带的TCM这类RAM,DMA也访问不到。
具体需要去看芯片的数据手册。

出5入4汤圆

 楼主| 发表于 2017-3-26 22:11:59 | 显示全部楼层
aozima 发表于 2017-3-26 01:52
位带区是cortex-M内核模拟出来的,最终还是变成外设的真实地址,通过“读-修改-写”的方式来实现。
只是这 ...

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

出5入4汤圆

 楼主| 发表于 2017-3-26 22:47:21 | 显示全部楼层
aozima 发表于 2017-3-26 01:52
位带区是cortex-M内核模拟出来的,最终还是变成外设的真实地址,通过“读-修改-写”的方式来实现。
只是这 ...



果然换个搜索引擎还是有必要的,找到了一些蛛丝马迹,也算是能基本确定DMA不能访问位带区。
但是说位带区是virtual,感觉不能理解,在下面这个图上,位带区是真实存在的啊。DMA不能方位,为什么直接赋值为0或者1就可以呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-3-27 17:59:02 | 显示全部楼层
tim4146 发表于 2017-3-26 22:47
果然换个搜索引擎还是有必要的,找到了一些蛛丝马迹,也算是能基本确定DMA不能访问位带区。
但是说位带 ...

位带应该是虚拟出来的,映射出来的,并不是真实存在的,是内部硬件机制给你转译的。  
我觉得你可以理解芯片里框架也分层设计,DMA是属于底层,虚拟设备属于上层,底层不能直接访问上层,只能访问上层的经过转译后的对应的底层(固定的转译关系理论上肯定可以,不固定的转译理论上也能访问时候查表,支持不支持就看芯片公司的取舍了,应该主要是成本和使用价值吧)。  

出5入4汤圆

 楼主| 发表于 2017-3-27 21:39:32 | 显示全部楼层
huangqi412 发表于 2017-3-27 17:59
位带应该是虚拟出来的,映射出来的,并不是真实存在的,是内部硬件机制给你转译的。  
我觉得你可以理解 ...

感谢讲解 感觉自己还是停留在了使用的层面,原理层面的东西看的太少了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 17:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表