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.

[参考译文] MSP430F5249:多次运行BSL脚本程序将提供"BSL密码错误!"

Guru**** 2582405 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/662407/msp430f5249-running-bsl-scripter-more-than-once-gives-bsl-password-is-error

部件号:MSP430F5249

您好,

我在运行BSL脚本程序时遇到了一个非常奇怪的问题。 第一次运行它可以正常工作,我没有收到任何错误。 第二次运行它会出现如下所示的错误:

模式6xx UART /dev/ttymxc1
UART的波特率设置未给出/错误
它将被设置为默认9600波特
//提供了错误的密码
//内存中的大量擦除
Rx_password pass32_wrong.txt
读取txt文件:/root/pass32_wrong.txt
Rx_password pass32_default.txt
读取txt文件:/root/pass32_default.txt
[ERROR_MESSAGE]BSL密码错误!
RX_DATA_BLOCK Firmware.txt
读取txt文件:/root/Firmware.txt
[ERROR_MESSAGE]BSL已锁定!

[ERROR_MESSAGE]BSL已锁定!
写入2.1394万字节所经过的时间:27.62 秒
写入数据的速度:0.7565 (KB/s)
Set_PC 0x4400

似乎有些东西被锁定,没有正确释放。 我是从生成BSL启动序列(在启动脚本程序之前)和重置序列(在写入完成之后)的简单bash脚本运行此程序。

有什么想法,哪里出了问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    空白设备的默认密码是0xFF....
    首次对设备编程后,BSL密码将更改为中断矢量表的内容。 我想你在这里得到的是,你在第一次对MCU进行编程后,并不是在更新到新的BSL密码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以从十六进制实用程序文件中获取中断向量表的内容?

    示例:
    @4400
    81 00 00 44 B1 13 36 00 0C 43 B1 13 00 B1 13
    30 00 32 D0 10 00 FD 3F 03 43
    @ffd2
    12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44
    12 44 12 44.
    @ffe8.
    12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44
    12 44 12 44 12 44 44 00 44 F1 03 B2 40 80 5A 5C 01
    F2 D0 20 00 64 02 F2 E0 DF 00 62 02 F2 E0 20 00
    62 02 B1 40 10 27 00 02 3C 91 83 00 81 93
    00 00 F4 27 FA 3F 03 43 03 43 FF 3F 03 43 1C 43
    10 01.


    如果不是,如何最好地做到这一点?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,您可以。
    请参阅以下文档的2.7 部分:
    www.ti.com/.../slau319p.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果输入了错误的密码,则会执行大量擦除,之后密码将为0xFF ...

    这不对吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请参阅上述文档参考的2.7 部分。 本节的最后一段(以单词"BSL Vions 2.00 and higher"开头)提供了有关在使用错误密码时进行批量擦除所需执行的操作的详细信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用我的TXT文件中的值设置密码,如下所示:

    @FFE0
    12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44
    12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44 44 00 44


    但我不断收到密码错误。 应该是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否在脚本工具使用的脚本文件中使用此文件?
    您的脚本文件是否包括脚本工具用户指南中2.4 16节中的密码参考:
    www.ti.com/.../slau655e.pdf

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

    Rx_password pass32_default.txt

    为了进行测试,我尝试将其中的密码更改为:

    @FFE0
    12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44
    12 44 12 44 12 44 12 44 12 44 12 44 12 44 12 44 44 00 44


    但它没有什么不同。 我遇到了同样的错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    发布固件的TI-TXT (仅适用区域)和脚本文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将我的脚本更改为如下所示,现在可以正常工作:

    //
    //将固件下载到
    //MSP430器件,通过UART BSL
    //
    日志
    模式5xx UART 9600 /dev/ttymxc1
    质量_擦除
    Rx_password
    RX_DATA_BLOCK Firmware.txt
    Set_PC 0x4400