RT1052的DCACHE使用问题
项目选用了RT1052,第一次用M7,遇到一些以前没遇到的问题,特发帖请教:1 项目我们自己设计了一个BOOT,从BOOT跳到应用程序。
2 在应用程序中,调试代码过程,经常发现程序死机。
经过测试,发现以下一些现象:
如果增加一点调试信息(用串口printf),程序又正常了。
如果在应用程序开头禁止DCACHE,程序也正常。
如果把应用程序编译到起始地址,不用BOOT,程序也正常。
不知道大家有没有遇到这样的事情?
1 会是Dcache的问题吗?
看了网上一些对M7 Dcahce的解释,通常是由用DMA的时候才会出现数据差异。
工程并没有用DMA。还会有其他操作造成CACHE和RAM不同步吗?
还有,MPU用官方的配置,是不是配置不对?
2 会不会是使用了BOOT造成?boot调过来应用程序后,应用程序还是执行了整个启动代码的内容。
谢谢!
大概率是你的板子有问题。
一般DMA和CPU共同操作支持Cache的RAM区才会有Cache问题。
页:
[1]