DMA数据搬移的余量

小陆zi 2015-05-21 09:37:03
大家好:
一直以来一个问题一直没有想通。希望了解的可以帮助我一下。
DMA的搬移一直以数据缓冲区的整数倍大小来进行。
比如假设有512KB的数据缓冲区。当有024或者n x 512的数据大小时可以进行数据搬移。但是万一数据的大小不是缓冲区大小的整数倍时候,怎么保证数据的完整性?
比如有534KB的数据要搬移,第一次写入缓冲区的数据量是512KB,那么第二次写入的数据量是22KB,那么这多余的22KB
的数据会不会触发DMA的搬移?

谢谢
...全文
254 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanqingwu 2015-06-08
  • 打赏
  • 举报
回复
是的,一般只要数据对齐就行,没有说一定要指数倍。
fly 100% 2015-05-28
  • 打赏
  • 举报
回复
dma一般都是任意设置搬运数的 地址对齐
fuchouzhe 2015-05-28
  • 打赏
  • 举报
回复
“DMA的搬移一直以数据缓冲区的整数倍大小来进行。”——大多数dma都不是这样玩的。 DMA可以搬移任意大小数据块,只受设备本身限制和对齐问题等总线及cpu相关的限制。 DMA的触发源很多,具体系统具体分析,但大多数运行软件触发。

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧