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.

[参考译文] MSP430F5438:MSP430F5438的 BSL 密码

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/798410/msp430f5438-bsl-password-for-msp430f5438

器件型号:MSP430F5438

您好!

我目前正在尝试为 MSP430F5438的 BSL 找到 RX 密码、但似乎无法获取。  我目前正在使用以下命令通过 CCS 上的软件调用 BSL 模式:

_disable_interrupt ();//禁用中断
(((void (*)() 0x1000)();//跳转到 BSL

RX 和 TX 线分别位于 P1.1和 P1.2上、并连接到 FTDI 线缆的 RX 和 TX 线。

我已经验证了 BSL 可以使用以下命令通过 UART 与计算机通信:

//波特率
0x80 0x02 0x00 0x52 0x02 0x90 0x55
//返回缓冲区大小
0x80 0x01 0x00 0x1A 0x8B 0x52

但是、我无法获取解锁密码。  每当我传递密码时、我都会从 BSL 接收 ACK 返回值(0x00)、BSL 会擦除主存储器代码并出于某种原因退出 BSL 模式。  

下面是我尝试过的几个密码:

在 BSL 刷写器件文档中提供的//密码
80 11 00 11 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 5C 38 4F

//假设中断向量为 FF,我输入的密码

假设 中断矢量为 FF、我创建的//16 FFs 密码
0x80 0x11 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x4E 0xC9

//32 FFs

0x80 0x21 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x9E 0xE6

BSL 中断矢量表(位于地址0xFFE0和0xFFFF 之间)

///32来自通过 CCS 查看存储器浏览器的存储器(BSL 中断矢量表(位于地址0xFFE0和0xFFFF 之间)
0x80 0x21 0x00 0x11 0x5C 0x44 0x5C 0x00 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x5C 0x44 0x5C 0x5C 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x28 0x86 0x86 0x86 0x86 0x86 0x86 0x

上述所有密码似乎都不起作用。  它们都通过 BSL 的0x00进行确认、之后 BSL 不再响应发送给它的其他命令、这导致我假设它由于某种原因已复位、并认为它离开 BSL 模式。

感谢您在 Advnace 中的帮助!

Nick

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

    嗨、Nick、

    我有一些建议有望帮助您。 从闪存 BSL 文档中、您的器件似乎需要16字节的密码、而不是32字节的密码:

    BSL 密码应等于您的中断矢量表内容:

    您还需要记住的另一件事是密码文件的端序。 您将首先输入低字节、然后输入高字节。 我有另一个主题、我在其中更详细地解释了这一点和其他 BSL 注意事项。 在这种情况下、我认为这可能会有所帮助:

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/736686/2777509#pi320995=5

    如果您仍有问题、请查看并告知我。

    谢谢!

    Mitch

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

    您好 Mitch、

    文档中对此进行了暗示、但并未具体说明。

    密码最后是中断矢量表的最后16个字节、位于 FFF0和 FFFF 之间。

    以下是我的内存浏览器的图像:

    此外、正如您所说的、字节序很重要。

    下面是我最后发送的密码以及发送的消息:

    0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x28 0x5C

    0x80 0x11 0x00 0x11 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x5C 0x28 0x5C 0xB8 0xf5

    感谢您的帮助!

    Nick