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.

[参考译文] MSPM0C1103:(i) 复位引脚与 SCL 冲突、(ii) BSL

Guru**** 2895520 points

Other Parts Discussed in Thread: MSPM0L1304, MSPM0C1103, UNIFLASH, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1644669/mspm0c1103-i-reset-pin-conflict-with-scl-and-ii-bsl

器件型号: MSPM0C1103
Thread 中讨论的其他器件: MSPM0L1304UNIFLASHSYSCONFIG

您好、  

1 — 在 16 引脚 MSPM0C1103SDYYR 中、 我决定在编程后使用引脚 12 SWCLK 作为数字输入、但它锁定了我(以某种方式,微控制器进入闪烁模式)。 我无法执行恢复出厂设置。 请提供一套解决此类问题的说明。

2 — 在 16 引脚 MSPM0C1103SDYYR 中、I 使用引脚 3 作为 SDA 和引脚 4(NRST 引脚也)以及 SCL 进行 I2C 通信、与 20 引脚 MSPM0L1304TDGS20R 微控制器的引脚 4 作为 SDA 和引脚 5(NRST 引脚也)以及 SCL 进行 I2C 通信。 我连接了 4.7K Ω 作为 SDA 和 SCL 的上拉电阻。  

MSPM0L1304 警告:0971104b-94b7-4c67-abcf-bbac67a542eb.png

MSPM0C1103 的错误和警告:

image.png


  a) 在 MSPM0C1103 和 MSPM0L1304 上 NRST 引脚上使用 SCL 时发生任何冲突或冲突?  
  b) 是否仍可以将一个 10nF 电容器接地以使 RESET 引脚?  
  C) 或者上电时无法进行硬件复位、我应该移除 10nF 至 SCL/NRST 引脚的电容、并且应执行软件复位?  
  d) 是否可以使用 I2C 和基于闪存的辅助引导加载程序 (BSL) 通过 MSPM0C1103 对 MSPM0L1304 进行编程?  
  e) 此类 BSL 的任何示例代码、文档或说明?

3 — 由于 MSPM0C1103 不会随附基于 ROM 的永久引导加载程序(例如更大的 MSPM0L 或 MSPM0G 系列)、因此我决定使用 UART(引脚 9-10)来刷写 MSPM0C1103。 我必须首先将基于闪存的次级引导加载程序 (BSL) 编程到器件存储器中。 我知道最初仍需要至少使用 SWD(引脚 11 和 12)一次来安装此自定义引导加载程序。 我是这样做的、我进入了上文第 1 项提到的 MSPMOC1103 的快节奏模式。

 

提前感谢、

此致、

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

    尊敬的 Mehrad:

    重新利用编程引脚的用途将不允许器件连接到调试器、除非在应用程序执行之前重新启用。 以下步骤应允许您恢复设备:

    1. 断开电源
    2. 保持 NRST 低电平
    3. 重新连接电源
    4. 在 CCS 中启动无工程调试会话
    5. 运行恢复出厂设置手动脚本
    6. 当 GEL 脚本控制台提示按住 NRST 时、释放它

    除非在软件中禁用、否则 NRST 连接到 PA1。 如果不使用 NRST、则不需要 PA1 上的 10nF 电容器。 如果启用了 NRST、该电容器也应该存在。 但是、当启用 NRST 和另一个引脚功能时、该引脚 为逻辑 0 时、器件复位。 没有 NRST 功能的 10nF 电容器 可能会干扰 SCL 线路上的 I2C 通信。

    包含 ROM 引导加载程序的器件上的 ROM 引导加载程序本身支持 UART 和 I2C。 可以在 MSPM0L1304 和 MSPM0C1103 上放置一个辅助闪存引导加载程序。 SDK 中都提供了适用于两个器件系列的代码示例。 我们还提供了 MSPM0 引导加载程序用户指南 、其中包含关于次级引导加载程序的部分。

    e2e.ti.com/.../MSPM0C1104_5F00_Flash_5F00_Bootloader_5F00_examples.zip

    e2e.ti.com/.../MSPM0L1306_5F00_Bootloader_5F00_examples.zip

    您是否能够在 CCS 中运行诊断读取脚本? 如果是、它会返回什么?

    此致、
    Brian

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

    谢谢 Brian、感谢您的耐心!

    1 — 请详细解释“4. 在 CCS 中启动无工程调试会话“。 我正在使用 CCS Theia;版本:20.5.0.28__1.11.0;默认 VS Code API:1.102.3。 以及如何生成/创建无工程调试会话?

    2- 请详细解释“5.  运行恢复出厂设置手动脚本“。 在哪里可以找到要运行的此类菜单/选项? 可以使用 UniFlash 来实现吗?

    3- 只需再次选中项目“6.“...当系统提示您在 GEL 脚本控制台按住它“时、我应该在 CCS 窗口底部释放 NRST GEL 脚本控制台、提示您按住它?  

    4-现在,我没有这样的锁定场景在手,或者我没有把屏幕截图取出。 基本上我无法重新刷新它、它要求我恢复出厂设置。

    此致、

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

    BTW:由于我将 NRST 引脚用于 I2C SCL、如何在上面的 2 个屏幕截图中获取 SYSCTL 警告? 此外、移除 10nF 电容器。 由于我通过为 I2C SCL 使用 NRST 引脚来删除硬件复位、如何发生复位?  我是否应该在 main.c 中添加一行代码(应该是什么?) 或选中 SysConfig 中的某个设置?

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

    以下是如何启动无工程调试会话

    (我必须单击圆圈中的小箭头,然后添加一个配置以使其正常工作)

    https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html

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

    尊敬的 Mehrad:

    您可以在 SysConfig 的 SYSCTL 部分中禁用 NRST:

    下面显示了如何为 CCS 中的器件运行可用的 GEL 脚本:

    1. 如何打开无工程调试会话:右键点击 workspace->project->targetconfigs 中的.ccxml 文件
    2. 如何查看所有可用的器件脚本:左键点击 IDE 顶部的“Scripts“选项卡
    3. 如何添加 GEL 控制台视图:转到“View“->“Console“->“Gel Output“

    手动恢复出厂设置脚本将在 CCS 和 Uniflash 中运行:

    • Uniflash
    • CCS 中完成

    执行脚本时、应在以下指示点释放 NRST(遵循我之前响应中的步骤之后):

    还应注意的是、只有在 SYSCFG_DL_init () 运行之后、在 SysConfig 中对引脚配置进行的更改才会发生。 这意味着在器件从 BootRST 或更强的复位重新启动后、但在应用开始运行之前、您仍然可以访问编程引脚和 NRST 引脚。

    此致、
    Brian