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.

[参考译文] MSPM0G1507:使用 JLink 刷写固件、而不调用 BSL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1415070/mspm0g1507-flash-the-firmware-using-jlink-without-invoking-bsl

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

工具与软件:

我遇到了与 BSL 功能相关的问题。 以下是详细信息:
  1. 每次刷写固件时、都必须通过执行上电复位(POR)来调用 BSL、这涉及在器件上电之前将 BSL PA18引脚短接至 VCC。 但是、我使用 JLink 进行刷写、它通过 SWDIO 和 SWDCLK 引脚运行。
  2. 根据产品说明书和用户手册中提供的信息、通常仅在通过 UART 或 I2C 进行编程时才需要 BSL。 我不使用这些接口中的任何一个进行编程;相反、我只依赖于 JLink ( SWDIO、SWDCLK、NRST 和 VCC 和 GND 引脚)。
您能否提供有关如何禁用 PA18引脚上的 BSL 功能、允许我们使用 JLink 刷写固件、而无需每次都经历 BSL 调用流程的指导?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您可以直接使用 SWD、并连接 PA18和 GND。 在这种情况下、你 永远不会进入 BSL。

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

    我使用了如上所述的 SWD 引脚、但始终需要 PA18? 之前连接到 VDD 时的情况  

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

    您好!

    如果您使用 Jlink 来下载或 调试某些内容、我认为您可以忽略 BSL。 但如果重新启动之后、如果您想运行自代码、请将 PA18接地、否则它可能会进入 BSL 模式。

    另一种方法是禁用 BSL 或更改 BSL 调用引脚。 您可以在 NONMAIN (SysConfig NVM 器件)中更改它。

    此致、

    Zoey

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

    您好!

    我按照 TI 的硬件连接指南将该板连接到 JLink 编程器。 我最初使用 JFLASH 工具进行编程、但遇到连接错误。

    为解决此问题、我在给电路板上电之前将 PA18引脚短接至 VCC、调用了 BSL 模式。 进入这个模式后、我就能够在 JLink 和电路板之间成功建立一个连接并继续闪存编程。

    但 我不希望这样、我想我不希望硬件出现任何短路、

    注意: 我在应用程序代码(DL_SYSCTL_disableSWD ())中禁用了 SWD 引脚、但 POR 重新启用了 SWD 引脚、是否正确?

    MSPM0G1507 MCU 是否需要任何序列来使用 jlink 或脚本等进行刷写

    观察结果: 每当我使用 jlink 进行编程时、MCU 应该复位并停止、但事实并非如此、MCU 会复位、但应用程序会立即启动而不是停止。

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

    您好!

    [报价 userid="575253" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1415070/mspm0g1507-flash-the-firmware-using-jlink-without-invoking-bsl/5421204 #5421204"]为解决此问题、我在给电路板上电之前将 PA18引脚短接至 VCC、这调用了 BSL 模式。 进入该模式后、我就能够在 JLink 和电路板之间成功建立连接并继续执行闪存编程。[/QUOT]

    这是因为您已进入低功耗模式、在该模式下、J-link 无法与其相连。 当您进入 BSL 模式后、该模式将被唤醒、并在大约10秒后重新进入低功耗模式。

    请按照以下步骤解决 it.e2e.ti.com/.../1106.How-to-connect-MCU-in-low-power-mode-with-J_2D00_link.pptx 问题

    [报价 userid="575253" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1415070/mspm0g1507-flash-the-firmware-using-jlink-without-invoking-bsl/5421204 #5421204"]注意: 我在应用程序代码(DL_SYSCTL_disableSWD ())中禁用了 SWD 引脚;但 POR 重新启用了 SWD 引脚、正确吗?[/QUOT]

    是的、您 POR 将重新启用 SWD、但随后 MCU 将运行代码、并且 SWD 将再次被禁用。 J-link 也不会连接到它。

    此致、

    Zoey

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

    你(们)好

    谢谢,在我做了上述更改后,我可以将我的电路板与 JLINK 连接,我怀疑这是否会使读取保护。

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

    您好!

    很高兴听到您已解决此问题。

    旧版本 J-link 失去了唤醒 MCU 的功能、因此无法连接 MCU、我给出了相关脚本。 JFlash 的最新版本支持该功能。

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

    Zoey、您好!

    因为任何人都可以使用此脚本并尝试读取 hex 文件、所以读取保护会怎么样。

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

    您好!

    我们只有 SWD 访问寄存器用于保护。

    您在 Nonmain 中禁用 SWD。

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

    你(们)好  

    我们可以通过编译器设置来保护它吗?

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

    据我所知、您不能通过编译器禁用它、而是可以配置 MCU。

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

    感谢您的帮助、我还有一个问题是如何禁用 BSL PA18引脚并用于通用操作。 我将为同一主题创建新主题。

x 出现错误。请重试或与管理员联系。