问题描述
自v7.20以来,推出了MicroBlaze处理器中D-Cache的回写缓存策略。
当使用回写高速缓存(C_DCACHE_USE_WRITEBACK = 1)并在MicroBlaze处理器的复位(C_RESET_MSR = 0x000000a0)上启用高速缓存时,PC会在应用程序中的高速缓存失效后跳回以重置向量。
解决/修复方法
要避免此问题,您应该:
- 永远不要在重置时启用缓存。
- 在第一次启用缓存之前,使缓存无效,以便以后的运行中的旧数据不会被写入并损坏内存。
- 启用缓存后,只应执行缓存刷新,永远不会失效。
没有回复内容