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.

[参考译文] MSP430G2755:更正 D1和 D2值、将 BSL UART 波特率更改为38400

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/985271/msp430g2755-correct-d1-and-d2-values-to-change-bsl-uart-baud-rate-to-38400

器件型号:MSP430G2755

我正在编写一个内部工具、用于使用 BSL 对器件上的 MSP430G2755进行重新编程。 我可以这样做、但在9600波特时需要很长时间、因此我想增加波特率。 应用手册没有提供有关 D1和 D2字节需要为其提供哪些背景信息。 我尝试了作为其他处理器示例给出的值、但它们不适用于此处理器。 有人使用该处理器或类似处理器来实现这一点?

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

    您好!

      《MSP430 闪存器件引导加载程序(BSL)用户指南》中的第2.4.4.8节"更改波特率"中、括号中包含了可在各种寄存器中更改的某些位。 例如、D1可以更改 《  MSP430x2xx 系列用户指南》第5.3.1节中所示的 DCOCTL 寄存器中的 DCOx 位。 D2调整  BCSCTL1寄存器中的 XT2OFF 和 RSELx 位。 您需要调整这些参数、以确保 CPU 频率高于4.2MHz。 您可以使用数据表、用户指南和代码示例来确定这些设置。 D3控制写入闪存存储器的闪存控制器速度。

    此致、

    James

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

    我当前正在发送{0x80、0x20、0x04、0x04、0x60、 0xFB、0x02、0x0、0x19、0x20}、这应该等于 SLAS800 (MSP430G2X55数据表)第27页的表中的4.25MHz 时钟频率。 我仍在接收来自器件的 NACK。  

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

    您好!

    在向 BSL 发送任何命令之前、您是否向 BSL 发送了值为0x80的同步字符(SYNC)?

    此外、我会将 D2字节从0xFB 更改为0x8B。 这会将 CKH 从0x20更改为0x50。 这些示例都显示了仅在各自寄存器中配置特定位的字节、同时保持其他位等于0、而不是1。

    此致、

    James

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

    是的、我在每个命令之前都加上同步字节、并在发送命令之前获得 ACK。 这一切在擦除和写入闪存时都能正常工作、波特率命令是唯一给我带来问题的命令。 从0x20更改为0x50 (并更新校验和)仍会导致 NACK。

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

    在尝试更改波特率之前、我只需更新代码即可解锁 BSL。 这似乎解决了问题。 我没有早点这么做、因为 BSL 文档说这不是一个受密码保护的命令。 不管怎样、至少现在它可以工作。