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.

[参考译文] MSPM0L1306:重新刷写器件所需的最小引脚数

Guru**** 2393725 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1431789/mspm0l1306-minimum-number-of-pin-to-re-flash-a-device

器件型号:MSPM0L1306
主题中讨论的其他器件:SysConfig

工具与软件:

您好、TI 专家:

考虑到:

  • 我想重新刷写器件
  • 器件的所有引脚都用于外部(GPIO)功能(SWDIO、SWCLK、UART、I2C、Invoke:用作应用程序的 GPIO)、NRST (专用)除外
  • 当我需要重新刷写器件时、调用引脚可以接地
  • NRST 不用于外部功能、可在需要时连接至 GND。

如果我将设备配置为:

  • 使用快速引导模式通常避免检查调用引脚
  • 如果 MCU 已上电、则会产生"< 1秒)"负脉冲、并且
  • 调用引脚(通常用作 GPIO)在引导期间连接到 GND 电平
  • UART 引脚(通常用作 GPIO)正确连接到可发送擦除和闪存命令的器件。

我是否能够对器件重新编程?

具体而言、当通过 NRST 上小于1s 的脉冲进入 BSL 时、我可以正常地将 UART/invoke 引脚用于 GPIO 并切换到 UART/invoke 功能吗?

谢谢你

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

    第二次查看器件数据表、似乎无法实现我建议的效果。

    快速引导模式会禁用调用引脚方法。

    如果我不想实现从应用程序跳转到 BSL 的可能性、似乎我不需要将调用引脚用于其他函数。 在这种情况下、NRST 可以保持未连接状态(施加上拉电阻)

    我是对吗?

    谢谢你

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

    嗨、Emanuele、

    我没有完全遵循您的建议、因此我只会给出一些初步评论、我们可以从此处出发。  如果在 SysConfig 的 NONMAIN/NVM 部分中禁用了 BSL_INVOKE 引脚、则在上电或复位时不会对其进行检查。  如果它保持启用状态、则仅在此时检查它(需要为高电平才能不进入 BSL)、但在上电后、可正常使用。  具体取决于此引脚的功能、以及该函数是否允许使用上拉电阻器、以确定是否可以保留 BSL 调用引脚作为选项。  

    您还可以在 NVM 的同一 BCR 部分中自定义用于 BSL 的 UART/I2C 引脚/模块。   

    在禁用 BSL 调用的情况下、调用它的唯一方法仍然是通过应用软件。  也许您可以创建一个特定的 I2C/UART 命令来触发软件切换到 BSL 以进行更新。  

    SWCLK/SWDIO 引脚在启动时仍默认为编程引脚、但随后应用代码可以将其重新配置为用于其他用途。  即使这些引脚默认为 SWCLK/SWDIO 功能、也可能会在 NONMAIN BCR 中禁用 JTAG 接口。  如果不是这种情况、从技术上讲、仍可使用这些外设、但需要先连接、应用程序代码才能切换这些外设以及电路板上用于这些外设的应用程序、以免干扰其通信。   

    我不知道我是否回答了您的问题、因此、如果您想进一步详细讨论、请告诉我。   

    谢谢!

    JD

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

    您好、JD:

    谢谢你。

    是的、您回答了我的问题。

    这只是一个小问题。 这真的是真的吗(参见28.1.2 Ref Man 物理接口)?
    "如果器件包含在启动时禁用 SWD 引脚的软件、为了重新获得对该器件的调试访问权限、必须在 POR 期间使用 NRST 引脚将器件保持在复位状态"

    如果我正确读取它、即使我禁用了 SWD、也可以通过将 NRST 引脚保持为低电平来访问 MCU SWD。 可能这正是我在 CCS 中看到的"解锁"功能所完成的。

    此致、
    Emanuele

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

    嗨、Emanuele、

    不、您将两种不同的东西混用了。  您发布的说明与 SWD 引脚本身有关。  如果您在引脚多路复用中将它们切换到不同的功能、那么将它们切换回的唯一方法是像您所描述的那样通过 nRST 引脚。   

    NONMAIN 的 BCR 部分控制 SWD 模块本身。  如果你在那里禁用了 SWD 模块、那么它将保持禁用状态、即使通过 nRST。  (调试模块、而不是引脚。)   重新启用调试模块的唯一方法是通过"批量擦除"或"恢复出厂设置"将非主存储器重置为其默认值、这是您可以通过 CCS 发送的 DSSM 命令。  

    现在、如果您想要永久锁定器件、还可以禁用批量擦除和恢复出厂设置并使用静态写保护确保 NONMAIN 安全。 在这种情况下、无法重新获得对器件的访问。  对 TI 来说甚至没有意义。

    谢谢!

    JD