12.1 EDK  – 如何在MicroBlaze v7.20或更高版本中正确使用回写高速缓存?-Altera-Intel社区-FPGA CPLD-ChipDebug

12.1 EDK – 如何在MicroBlaze v7.20或更高版本中正确使用回写高速缓存?

问题描述

自v7.20以来,推出了MicroBlaze处理器中D-Cache的回写缓存策略。

当使用回写高速缓存(C_DCACHE_USE_WRITEBACK = 1)并在MicroBlaze处理器的复位(C_RESET_MSR = 0x000000a0)上启用高速缓存时,PC会在应用程序中的高速缓存失效后跳回以重置向量。

解决/修复方法

要避免此问题,您应该:

  • 永远不要在重置时启用缓存。
  • 在第一次启用缓存之前,使缓存无效,以便以后的运行中的旧数据不会被写入并损坏内存。
  • 启用缓存后,只应执行缓存刷新,永远不会失效。
请登录后发表评论

    没有回复内容