打印
[STM32F7]

从《STM32F7 MPU Cache 浅析》手册获取解决问题方法

[复制链接]
254|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在刚使用STM32H743时使用DMA接收数据,接收到的数据一直是上一次的数据,DMA更新的数据无法获取,在手册中有如下描述:

DMA 更新了某段物理内存(DMA 和 cache 直接没有直接通道),而这个时候 Core 再读
取这段内存的时候,由于相对应地址的 cache-line 没有被 invalidate,导致 Core 读到的是 cache-line
中的数据,而非被 DMA 更新过的实际物理内存的数据
在主函数中开启强制D-Cache透写,可解决问题:
SCB->CACR|=1<<2;

STM32F7 MPU Cache浅析.pdf (530.93 KB)


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

351

主题

2775

帖子

40

粉丝