这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 行业应用 » 汽车电子 » 【S32K3学习整理】DMA使用注意事项

共1条 1/1 1 跳转至页

【S32K3学习整理】DMA使用注意事项

高工
2026-10-01 11:13:24     打赏

【简介】

我们在之前的帖子中(【S32K3学习整理】DMA 配置使用)已经使用DMA来接收LPUART的数据,DMA的配置中调试过程中遇到的问题未展开,此贴在此基础上进一步说明DMA使用的注意事项。

本地调试时遇到DMA的中断已经按照预期的响应,但是DMA中断触发后我们配置的地址中并未更新。针对该问题的原因,从现象上看DMA已经完成数据的搬运但是CPU读取到的数据没有同步,S32K3中本地是开启了Cache了想到这突然意识到这个可能就是触发问题的原因,从以下的框图可知DMA作为总线的一个master 节点更新数据不会和canche进行同步,造成CPU读取到的数据未进行更新。

image.png

针对该问题我们需要修改通过DMA  接收数据的缓冲区的内存属性位no_cache,修改如下。

image.png

代码修改后DMA中断触发后,CPU也可以按照预期的读取到数据,S32K3 的DMA使用要注意和CPU交互数据的内存的属性要是no_cache属性。

   


           


共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]