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.

[参考译文] MSPM0L1105:使用调用引脚时无法与 ROM BSL 通信

Guru**** 2933630 points

Other Parts Discussed in Thread: MSPM0L1105, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1654660/mspm0l1105-unable-to-communicate-with-rom-bsl-when-using-invoke-pin

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

您好:

我的公司使用 MSPM0L1105 作为 I2C 从器件。 我们计划通过 BSL 更新 MSPM0 应用程序代码。 但是、通过调用引脚进入 BSL 时、会出现问题。

背景:

我们使用的是 MSPM0L1105 和 WQFN-16 (RTR) 封装。 完整产品名称是 MSPM0L1105TRTRR。 值得注意的是、对于该产品、NRST 的默认 I2C SCL 引脚在同一引脚上(引脚名称为 PA1/NRST)。

MSPM0 应用程序使 LED 闪烁。 当 LED 不闪烁且通电时、MSPM0 大概位于 BSL 中。 应用程序从器件地址为 0x11。

主 I2C 器件是一个运行 Linux 的 ARM 处理器。

在 syscfg 中、BSL 调用引脚为 PA23/PA25、BSL 调用引脚电平为高电平。 BSL 从站地址为 0x48。

在 syscfg 中、NRST 引脚被禁用。

当应用程序使用函数 DL_SYSCTL_resetDevice (SYSCTL_RESETLLEVEL_LEVEL_BOOTLOADERENTRY) 进入 BSL 时、主器件能够与 BSL 通信。 从主器件运行命令实用程序 i2cdetect 会在查询从器件地址 0x48 时导致主器件上的 I2C 驱动程序超时。 当对固件进行编程以使主器件使用 TI 定义的 BSL 协议与 BSL 进行交互时、我们就可以与它进行通信。 提及 i2cdetect 的目的是确定我们能够与 BSL 通信时的行为。

虽然在使用此方法进入 BSL 时、我们可以与 BSL 进行通信、但我们需要能够在没有应用程序的情况下进入 BSL。

问题:

当调用引脚设置为高电平(调用 BSL)并且电源打开时、LED 不会闪烁。 大概这意味着 MSPM0 位于 BSL 中。 当主器件运行 i2cdetect 时、地址 0x48 上没有超时。 在不关闭电源的情况下、调用引脚设置为低电平(调用应用程序)。 当运行 i2cdetect 时、LED 开始闪烁、这表示应用程序正在运行。 再次运行 i2cdetect 将确认存在地址为 0x11 的从器件。

我认为 BSL 不会禁用 NRST 引脚。 因此、当有 I2C 通信时、MSPM0 正在复位。 当调用引脚设置为调用应用程序时、这一点最为明显、而 I2C 通信导致 MSPM0 运行应用程序。

我的结论是否正确? 是否有办法解决此问题?