Invalidating Cache

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Invalidating Cache

跳至解决方案
1,024 次查看
greenwichmeanie
Contributor III

We're using an S32K341. I understand that I can place DMA buffers into a noncacheable region but I'd prefer to perform DMA transfers and invalidate / clean cache by address.

We're using the RTD. Searching through the install, we can see these "by address" cache commands in files `Cache_IP.c/.h` but they weren't generated with our `.mex` file.

In the past I have used the CMSIS interface to perform this task but the code doesn't appear set up for this as far as I can tell.

For some background, we're using C++ and I've defined a class that will enforce the alignment and padding to the cache line lengths. I have a UART driver that encapsulates the RTD UART calls.

How can I access these cache functions?

0 项奖励
回复
1 解答
963 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

you need to add Cache_Ip component into your project in Peripherals tool, enable CACHE support in it and finally Update code.

PetrS_0-1763982932209.png

BR, Petr

在原帖中查看解决方案

1 回复
964 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

you need to add Cache_Ip component into your project in Peripherals tool, enable CACHE support in it and finally Update code.

PetrS_0-1763982932209.png

BR, Petr

%3CLINGO-SUB%20id%3D%22lingo-sub-2243129%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%BC%93%E5%AD%98%E5%A4%B1%E6%95%88%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2243129%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20S32K341%E3%80%82%E6%88%91%E7%9F%A5%E9%81%93%E6%88%91%E5%8F%AF%E4%BB%A5%E5%B0%86%20DMA%20%E7%BC%93%E5%86%B2%E5%8C%BA%E6%94%BE%E5%85%A5%E9%9D%9E%E7%BC%93%E5%AD%98%E5%8C%BA%E5%9F%9F%EF%BC%8C%E4%BD%86%E6%88%91%E6%9B%B4%E5%B8%8C%E6%9C%9B%E6%89%A7%E8%A1%8C%20DMA%20%E4%BC%A0%E8%BE%93%E5%B9%B6%E6%8C%89%E5%9C%B0%E5%9D%80%E6%97%A0%E6%95%88%2F%E6%B8%85%E9%99%A4%E7%BC%93%E5%AD%98%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20RTD%E3%80%82%E9%80%9A%E8%BF%87%E5%AE%89%E8%A3%85%E6%90%9C%E7%B4%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%96%87%E4%BB%B6%20%60Cache_IP.c%2F.h%60%20%E4%B8%AD%E7%9C%8B%E5%88%B0%E8%BF%99%E4%BA%9B%22by%20address%22%20%E7%BC%93%E5%AD%98%E5%91%BD%E4%BB%A4%EF%BC%8C%E4%BD%86%E5%AE%83%E4%BB%AC%E5%B9%B6%E4%B8%8D%E6%98%AF%E7%94%B1%E6%88%91%E4%BB%AC%E7%9A%84%20%60.mex%60%20%E7%94%9F%E6%88%90%E7%9A%84%E3%80%82%E9%94%89%E5%88%80%3C%2FP%3E%3CP%3E%E8%BF%87%E5%8E%BB%E6%88%91%E6%9B%BE%E4%BD%BF%E7%94%A8%E8%BF%87CMSIS%E6%8E%A5%E5%8F%A3%E6%9D%A5%E6%89%A7%E8%A1%8C%E6%AD%A4%E4%BB%BB%E5%8A%A1%EF%BC%8C%E4%BD%86%E6%8D%AE%E6%88%91%E6%89%80%E7%9F%A5%EF%BC%8C%E4%BB%A3%E7%A0%81%E4%BC%BC%E4%B9%8E%E5%B9%B6%E6%9C%AA%E4%B8%BA%E6%AD%A4%E8%BF%9B%E8%A1%8C%E5%AE%89%E8%A3%85%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%9C%E4%B8%BA%E8%83%8C%E6%99%AF%E4%BB%8B%E7%BB%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20C%2B%2B%EF%BC%8C%E6%88%91%E5%AE%9A%E4%B9%89%E4%BA%86%E4%B8%80%E4%B8%AA%E7%B1%BB%EF%BC%8C%E8%AF%A5%E7%B1%BB%E5%B0%86%E6%A0%B9%E6%8D%AE%E7%BC%93%E5%AD%98%E8%A1%8C%E7%9A%84%E9%95%BF%E5%BA%A6%E6%89%A7%E8%A1%8C%E5%AF%B9%E9%BD%90%E5%92%8C%E5%A1%AB%E5%85%85%E3%80%82%E6%88%91%E6%9C%89%E4%B8%80%E4%B8%AA%E5%B0%81%E8%A3%85%20RTD%20UART%20%E8%B0%83%E7%94%A8%E7%9A%84%20UART%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E3%80%82%3C%2FP%3E%3CP%3E%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%E8%BF%99%E4%BA%9B%E7%BC%93%E5%AD%98%E5%8A%9F%E8%83%BD%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E