打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DDR与SRAM间数据搬运Cache一致性问题

 DDR与SRAM间数据搬运Cache一致性问题

DDR之间数据搬运寄存器设置,DDR和SRAM间搬运的寄存器设置,SRAM间搬运的寄存器设置是相同的。只需要更改源和目的地址即可。

但是一旦目的地址是DDR就设置到DDR和SRAM一致性的问题。

Cache无效:由于EDMA是在CPU不干扰的情况下进行数据搬运,但是CPU读取数据的时候是通过Cache来读取数据的,当EDMA将目的地址设置为DDR时,CPU并不知道DDR的数据已经改变,当然也不会去更新Cache中的内容,于是当CPU读取该块DDR内容的时候仍然是Cache中原来没有更新的数据,这种情况的时候需要将原来的DDR那块数据对应的Cache置位无效,从新写入Cache的值,就可以保证DDR和Cache的一致性了。而对应的Cache无效函数是:Cache_Invalid();

Cache 回写:同样DMA在搬运数据的时候还可能存在另一种情况,处理器在处理数据的时候会将数据先存放到Cache 中,此时Cache中的数据可能还没有来的急写入到内存中去,这时候DMA要向外设写入由处理器提供的数据的时候,DMA会直接从DDR中获得数据,搬运到外设,而这个数据并不是想要搬运的数据,这种情况下要调用Cache回写函数,在DMA进行数据搬运之前要将Cache中的数据回写到DDR中,保证DDR和Cache 的数据的一致性。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
TMS320C64x+ DSP------Using Cache - 日志 - xiaow...
理解内存屏障(五)
基于dm642的H.264的算法改进
内存类型有几种?
RAM 内存 解说
内存常识
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服