回复
Highlighted
Administrator
发帖数: 669
注册日期: ‎09-05-2012

解锁“锁定”的 EFM32

有时可能无意间失去对 MCU 的调试访问权限。一些示例包括

 

  • 禁用调试引脚
  • 关闭核运行使用的 HF 振荡器
  • 进入 EM4

如果在程序中早期执行了上述任何操作,在调试器失去访问权限之前将没有时间来暂停 MCU。

有一种过程可以重新获得调试访问权限。当 EFM32 复位时,存在一个小窗口,其中名为认证访问端口 (AAP) 的模块连接至调试接口。此窗口时长为 47 µs 且在核开始执行代码前出现。

 

 

调试器可以使用 AAP 开始 Mass Erase(批量擦除),此功能将擦除全部的主要闪存块、SRAM 和锁定位页并重新获得调试访问权限。此过程称为“Debug Unlock”(调试解锁),因为它使用的方法与故意锁定调试接口时重新获得访问权限所采用的方法相同。

 

必须将 EFM32 套件 (STK/DK) 用作调试器来执行调试解锁。解锁功能未构建到第三方探头内。有关如何将套件用作您电路板的调试器的信息,请参见指南。如果您正在套件上调试板载 MCU,也能使用 Debug Unlock(调试解锁)。

 

要执行调试解锁,从 Simplicity Studio 中打开 energyAware Commander 并单击 Flash(闪存)选项卡中的“Debug Unlock”(调试解锁)按钮。

 63.png

 

此过程需要几秒钟时间。然后,重新连接 Commander 并确保“MCU Information”(MCU 信息)在 Kit(套件)选项卡中可见。如果 MCU Information(MCU 信息)屏幕显示“Not Connected”(未连接),则说明调试器仍然没有访问权限。若调试器不工作,请检查以下几项:

 

  • 供电和去耦都正常。使用示波器对其进行验证并参考 AN0002。
  • 所有必要的线路都已从 STK 调试端口正确连接至目标 MCU:SWDIO、SWCLK、GND、Vtarget、RESET
  • 调试电缆应该尽可能短。
  • STK 上的电源开关设置为 DBG。
  • energyAware Commander 中的“Debug Mode”(调试模式)设置为 OUT(如果调试外部电路板)或 MCU(如果调试板载 MCU)。

 64.png

 

有关调试接口和 AAP 的更多信息,请参见 Simplicity Studio 中的 AN0062。

 

另请注意:在 Zero Gecko 上,AAP 模块的执行方法稍有不同。截至写作此文档时,要进行解锁,需要更新套件固件和 energyAware Commander。您可以从此处获得更新版本:

 

energyAware Commander 2.83 Beta

Firmware - 0.9.14 Beta


Nari | Community Manager | Silicon Labs