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.

[参考译文] MSPM0G3519:软件调试端口配置问题

Guru**** 2795065 points

Other Parts Discussed in Thread: MSPM0G3519, UNIFLASH, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1620355/mspm0g3519-software-debug-port-configuration-issue

器件型号: MSPM0G3519
Thread 中讨论的其他器件: UNIFLASHSYSCONFIG

您好、

我正在使用 mspm0g3519 控制器检查安全级别测试。 我有一个问题:从 BCR 配置中禁用 SW-DP 时、恢复出厂设置为什么不起作用。

TRM 提到的恢复出厂设置、批量擦除是 DSSM 命令、发送 DSSM 命令需要访问物理调试端口。  

我尝试使用 UNIFLASH 工具和使用 DSSM 命令的出厂复位脚本对电路板进行出厂复位、但结果相同。   

9697f16a-d4be-4aca-bff9-944bf332dd21.png

image.png

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

    您好、

    DSSM 命令通过 SEC-AP 端口发送。 如果您禁用 DP 端口、则 GUI 无法通过 SWD 向 MCU 发送命令。

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

    谢谢 Zoey,它很好的洞察力,但这不是我正在寻找的。 我尝试了器件的 SWD 安全级别 1 配置、TRM 指出、在该模式下、SW‑DP 保持启用状态、而各个调试‑相关功能(应用调试,批量擦除,恢复出厂设置,TI FA)可以独立启用或禁用。

    根据第 2.6.1.1.2 节 — SWD 安全级别 1、我的理解是:

    我应该能够禁用应用程序调试访问 (.debugAccess = 0)
    同时仍保持启用恢复出厂设置
    只要 SW‑DP 接口已启用 (.swdpMode = 1)
    这种解释表明、即使禁用应用程序调试、恢复出厂设置也应该起作用。

    但是、在实际测试中、仅当同时满足以下两种条件时、恢复出厂设置才起作用:

     已启用.swdpMode and.debugAccess。
    如果.debugAccess 被禁用、则恢复出厂设置命令失败、即使 TRM 暗示这些功能可以单独控制。

    尽管 TRM 指示可以在 SWD 安全级别 1 独立控制这些功能、为什么恢复出厂设置需要启用.debugAccess?

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

    您好、Zoey、

    我是 Mehul 的一名同事。
    我们何时可以期望得到响应?
    这有点紧急。

    Ciao、
    Chris。

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

    您好、

    我现在还真不知道。“ 我们稍后将继续研究这一点

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

    何时“稍后“?

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

    嗨、Zoey、您有时间查看我在上面发布的问题吗? 我们要求尽早澄清这些疑问和问题 、因为它们对我们今后的步骤至关重要。

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

    您好、

    我在个人休假后才回到办公室。  

    我已经从我这边进行了测试。 如果仅在启用 swdpMode 的情况下禁用 debugAccess 端口、则我仍然可以恢复出厂设置。 您能和我分享一下 SysConfig 中的配置吗?  

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

    您好、Zoey、

    const BCRConfig =
      .bcrConfigID      = 0x4000000
      .debugAccess      = BCR_CFG_DEBUG_ACCESS_DIS
      swdpMode       = BCR_CFG_SWDP_EN
      .tifaMode       = BCR_CFG_TIFA_DIS
      .bslPinInvokeEnable = BCR_CFG_BSL_PIN_INVOKE
      .staticWriteProtectionMainLow = 0x6
      .staticWriteProtectionMainHigh = 0xfffff80f
      .staticWriteProtectionNonMain = BCR_CFG_NON_MAIN_STATIC_PROT_EN
      debugHold       = BCR_CFG_DEBUG_HOLD_DIS
      .CSCS 存在       = BCR_CFG_CSC_EXSE
      .flashBankSwapPolicy = BCR_CFG_FLASH_BS_EN
      .fastBootMode     = BCR_CFG_FAST_BOOT_DIS
      .bootloaderMode   = BCR_CFG_bootloader_mode_DIS
      .massEraseMode    = BCR_CFG_MASS_ERASE_EN
      .factoryResetMode  = BCR_CFG_FACTORY_RESET_EN
      .passwordMassErase  ={CFG_default_valueCFG_default_value、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE}、
      .passwordFactoryReset ={CFG_default_valueCFG_default_value、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE}、
      .passwordDebugLock  ={CFG_default_valueCFG_default_value、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE}、
      .bc_reserved_0         = 0xFFFFU
      .secureBootMode         = BCR_CFG_SECURE_BOOT_DIS
      .userSecureAppStartAddr    = CFG_DEFAULT_VALUE
      .userSecureAppLength      = CFG_DEFAULT_VALUE
      .userSecureAppHash ={CFG_default_valueCFG_default_value
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE、
        CFG_DEFAULT_VALUECFG_DEFAULT_VALUE}、
      .staticWriteProtectionMainHigh_2 = 0xfffff800
      .userCfgCRC           = 0xf911b056
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mehul:

    正如 Zoey 所说、当 只在启用 swdpMode 的情况下禁用 debugAccess 端口时、恢复出厂设置功能仍然可以起作用。

    我尝试与您进行完全相同的配置、我发现我随附了一个不同的“userCfgCRC"值“值。 请注意、此 CRC 值应根据 NONMAIN 内容计算、并将在引导过程中进行检查。 因此、如果对 NONMAIN 配置进行了任何更改、则 CRC 值也应相应地更新。 如果您想对 NONMAIN 进行任何更改、我强烈建议您使用 SysConfig 来配置 NONMAIN。  

    对于您当前的项目、我认为  将.userCfgCRC 更改为 0xC6FB7DF 可以解决您的问题。

    -  启用 debugAccess 时的 NONMAIN CRC:

      禁用 debugAccess 时的 NONMAIN CRC:

    此致、

    Pengfei

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

    嗨、谢。 是否可以共享生成的.c 文件? 我认为 CRC 也依赖于所有其他 BCR 参数。 我只想查看这些设置来获得该 CRC 值。  

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

    给你。

    e2e.ti.com/.../boot_5F00_config.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Zoey & Xie。 我注意到共享.c文件中没有配置静态写保护。 根据我的理解、如果启用了恢复出厂设置并启用了 SWDP、那么无论启用还是禁用调试访问、我应该仍然能够在电路板上执行恢复出厂设置。 对吧?
    此外、我会使用 SysConfig 生成此配置文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    在我共享的文件中、我尚未配置所有静态写保护为 0xFFFFFFFF。 但是要回答你的问题--是的、你可以在启用 SWDP 和禁用调试访问的情况下恢复出厂设置。

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

    嗨、Zoey & Xie、我现在 理解了这个问题、 .userCfgCRC  不正确、这就是配置无法按预期工作的原因。 已按预期测试 SysConfig 生成的配置及其工作情况。