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.

[参考译文] MSP430G2553:使用 BSL 更新 msp430g2553 UART 固件时出现问题

Guru**** 2526700 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/991977/msp430g2553-msp430g2553-uart-firmware-update-using-bsl-problem

器件型号:MSP430G2553

尊敬的支持主管:

我的任务是通过 UART 升级 MSP430固件。 我设法使应用程序将固件写入 MSP430闪存。 我通过读取 MCU 闪存对其进行了验证。

通过 UART 刷写后启动固件时遇到问题。 我正在使用以下命令。

1、通过复位和测试 GPIO 进入 BSL 模式

2.批量擦除 MSP430闪存存储器、以便将 BSL 密码重置为默认值。

3.设置默认 BSL 密码。

4.通过 UART 写入固件。

5.使用复位 GPIO 退出 BSL 模式。

在执行上述命令后、预期的内容是我们应该启动并运行固件、但似乎芯片内部没有运行固件。 同样、在上述序列之后、如果我们通过 JTAG 对 MSP430进行刷写、那么它也不起作用。 那么,如果我们没有什么东西,有人能指导我吗?

谢谢、

Jignesh

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

    G2553 BSL 会自动清除 LOCKA [参考 BSL UG (SLAU319AD)第2.4.4]节、因此批量擦除会擦除包含时钟(CALDCO/BC1)常数的 InfoA。 您可以通过(主动)清除 BSLSKEY (0xFFDE)[参考数据表(SLAS735J)表5注释(7)来挫败此行为。

    对于您现在拥有的芯片、请尝试从代码中删除对 CALDCO_x 和 CALBC1_x 的任何引用。

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

    感谢 Bruce 提出的明确建议、我能够根据您的建议恢复旧芯片。 因此、现在我将处理不需要执行批量擦除的应用。

    谢谢、

    Jignesh Patel

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

    如果您的电路板具有32kHz 晶体、您可以使用示例 msp430g2xx3_DCO_flashcal.c 在 InfoA 中重新生成 CALDCO 常数:

    https://dev.ti.com/tirex/explore/node?node=APXSlUhYWYfUi-lBT1UjXA__IOGqZri__LATEST

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

    您好、Bruce、

    我们使用的是内部晶振、还有任何示例可以帮助我恢复我已擦除 infoA 闪存的旧板。

    谢谢、

    Jignesh Patel

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

    据我所知、这是实现这一点的唯一示例。 它所使用的技术在概念上是一般的--它的核心就是一个由定时器捕捉驱动的 FLL --但是按照编码它假定 P2.6-7上有一个32kHz 晶振。  我想如果您愿意试验、也有一些变体方法可以使用。

    第一个挑战是将"已知良好"的时钟信号输入芯片。 您是否可以访问 P2.6-7等内容?