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.

[参考译文] MSPM0L1303:在将 SWD 引脚用作 GPIO 时仍保留调试访问的最佳实践。

Guru**** 2387080 points
Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1255957/mspm0l1303-best-practice-when-using-swd-pin-as-gpio-yet-still-keep-the-debug-access

器件型号:MSPM0L1303
主题中讨论的其他器件:SysConfigUNIFLASH

我 执行的操作与这个相同:禁用 SWD 引脚、失去对 MCU 的编程访问权限

MSPM0L1304:通过 NRST 重新获得调试访问权限-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

那么、如果我没有引导加载程序并从一开始就禁用 SWD 访问、那么仍然无法恢复 MCU?

由于我的主板有限、我认为赵宇豪的第二个解决方案听起来相当不错。(在禁用 SWD 访问之前增加延迟)

您能帮助我检查一下是否正确操作、或者我是否漏掉了任何内容吗?:

1.在 SysConfig 中、保持勾选"在 SWD 引脚上启用调试"。 不初始化预期的 GPIO 引脚

2. 在 main 中,使用 delay_cycles (??)  延迟几秒钟

3.使用下面的代码禁用调试

SYSCTL->SOCLOCK. SWDCFG =(SYSCTL_SWDCFG_KEY_VALUE | SYSCTL_SWDCF_DISABLE_TRUE);

4.初始化预期的 GPIO 引脚

非常感谢

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

    您好 Xiao!

    我同意、#2应该做技巧。  您是否仍具有 NRST 引脚的控制?  您是否尝试过他的其他建议、即在调试器尝试连接时、让 NRST 保持较长时间低电平?

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

    是的、我仍然控制 NRST 引脚。
    听起来是个好消息。 我将尝试它。 谢谢!

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

    当在代码中禁用 SWD +保持 NRST 为低电平时、使用 CCS 进行 Uniflash 和调试都不起作用  
    但是、如果我将 nrst 保持为低电平、连接到 CS_DAP_0内核、并且使用 Reset_Manual DesignDAP 脚本、则允许我下次 再尝试时进行编程。 如果有办法只对 uniflash 执行此操作、我会漂移。 我将在另一个主题中提出这个问题。

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

    你好 Xiao,

    在内部、我也要求我们的软件团队对此进行研究。

    仅重申 TRM 中的第27.1.2节

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

    你好 Xiao,

    我被告知器件必须在 NRST 保持低电平时执行 POR 才能访问这些引脚。  Uniflash 无法单独执行此操作。

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

    谢谢! 目前我将仅使用 CCS