基础知识如何扎实都不为过

    这几天team在讨论一个和DMA有关的问题. 有个同事因为负责的模块对实时性要求很高, 尽管他几乎完全工作在xenomai上,可一旦涉及到任何有可能长时间占用CPU的问题,他都会极其敏感.  任何有可能会打断它任务的操作他都会陪着相关的设计者从头分析一遍.  尽管DMA操作司空见惯, 也没人认为会对他的程序产生影响, 可出于严谨,大家还是一起简单review了一下DMA的过程.
    看上去, 这几乎就跟读了一遍教科书差不多. 可分析到DMA操作发起后CPU会释放总线, 由IO设备占用总线将数据搬到DDR里, 问题出来了: 此时CPU是否还能到DDR里读写数据? 如果可以, CPU 不就又抢回了总线控制了, DMA怎么办? 如果不可以, CPU 的程序岂不是都不能被执行了?  一起讨论的几个人没有一个人能有一个清晰的解释的.

  

    其实这是一个非常基础的问题, 百度一下DMA 方式就可以得到解释. 可在实际工作中, 尤其是毕对于毕业工作多年的人, 是不是应该时不时回头看看这些基础得觉得理所当然的知识呢


   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值