Hasty Briefsbeta

双语

When the Debugger Lies

2 days ago
  • 作者使用GDB手动与nRF54L系列的密钥管理单元(KMU)交互,配置并将密钥推送到插槽。
  • 在配置并推送密钥后,通过GDB的`x`命令读取内存会因为J-Link调试器的内部内存缓存而返回过时的值。
  • 使用JLinkGDBServer的`ReadMemAP`命令可以绕过缓存并返回正确的值,确认了缓存问题。
  • 使用`SetEnableMemCache=0`禁用内存缓存可以解决此问题,但不建议常规使用。
  • 只有当外设(如KMU)在CPU暂停时写入内存时,缓存才会成为问题;否则,推进CPU运行会清除缓存。