This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSPM0G3518:MSPM0G3518:RSTCAUSE 寄存器始终独立读取 BOOTEXNRST (12)、但在连接调试器时读取正确的 POR/SW 复位。

Guru**** 2893300 points

Other Parts Discussed in Thread: MSPM0G3518

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1641852/mspm0g3518-mspm0g3518-rstcause-register-always-reads-bootexnrst-12-standalone-but-reads-correct-por-sw-reset-when-debugger-is-attached

器件型号: MSPM0G3518

您好团队:

 

我遇到了一种根据 iSYSTEM 调试器是否物理连接到电路板而覆盖复位原因寄存器的行为。

问题:

  • 当我对电路板进行下电上电或在连接调试器的情况下触发软件复位时、我的应用程序会正确读取预期的复位原因(例如,1 表示 POR、3 表示软件复位)。
  • 当我独立运行完全相同的固件(以物理方式解配调试器)时、复位原因始终为 12 (MCU_RSTCAUSE_ID_BOOTEXNRST)。

我的设置:

  • 器件:MSPM0G3518
  • 调试器:iSYSTEM winIDEA

我的问题:

  • 如果某些引脚在没有连接调试探针的情况下保持悬空、BCR(引导配置例程)或 BSL 监控器是否会强制执行辅助 BOOTRST?
  • 如何在引导扩展可能覆盖它之前捕获原始复位原因?

 

此致。
Mohamed

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mohamed:
    附加到 MCU_RSTCAUSE_ID_BOOTEXNRST 的复位原因是什么? 如果器件中未配置任何 BSL、我认为 BCR 或 BSL 不能调用辅助 BSL。 否则、我只能认为它可以通过软件调用来调用。 至于捕获原始复位原因、假设复位源没有任何变化、您应该能够在代码的开头添加一些 if-else 逻辑来识别它的来源。  
    此致、
    Diego Abad