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.

[参考译文] MSP430F5528:使用命令行的 BSL 脚本

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/570010/msp430f5528-bsl-scriptor-using-command-line

器件型号:MSP430F5528

您好!

您能帮助解决以下问题吗?

如果我使用为 F5529提供的 BSL 示例脚本、它在 F5528上可以完美工作、并且可以将固件加载到芯片中。  我不喜欢的是固件文件名被嵌在脚本文件中(例如“RX_DATA_BLOCK .\firmware_1_00.txt”)。  我真的想在命令行上指定固件文件,但我看不到这样做的方法。  我可以为每个固件版本提供脚本文件和固件文件,但这有点麻烦,而且容易出错。

从 BSL-Scripter 的3.2.0版本开始、您可以从命令行执行单个 BSL 命令、因此我编写了一个批处理文件、该批处理文件模仿示例 F5529脚本文件:

@μ s 回波关闭

BSL-Scripter.exe -g -i [USB]-n 5xx -b pass32_wrong.txt

BSL-Scripter.exe -g -i [USB]-n 5xx -b pass32_default.txt

BSL-Scripter.exe -g -i [USB]-n 5xx -w RAM_BSL_USB.txt

BSL-Scripter.exe -g -i [USB]-n 5xx -z [SET_PC、0x2504]

超时/t 3 /nobreak

BSL-Scripter.exe -g -i [USB]-n 5xx -b pass32_default.txt

BSL-Scripter.exe -g -i [USB]-n 5xx -w %1

BSL-Scripter.exe -g -i [USB]-n 5xx -z [SET_PC、0x4400]

下一行到最后一行的%1从命令行获取固件文件名。

批处理文件的工作方式与脚本相同,直到它到达命令“-z [Set_PC, 0x2504]”。  此时,我会看到一个弹出窗口,显示“BSL-Scripter.exe has stopped working”(已停止工作)。   此命令恰好位于 BSL-Scripter 手册的第3.1.17节中。  它似乎应该起作用。


谢谢、

Keith N.
AFA OD/WPA

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

    我们的 BSL-Scripter 专家正在审查此问题、并将很快返回并作出响应。

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

    您好、Keith、


    我复制了您使用的批处理文件。 您可以在此处修复两点:

    1. 假设每一行(从 BSL-Scripter.exe 到-z)都是一个脚本。 因此、我们需要做的是:
      1. 定义器件-n 5xx 完成
      2. 定义通信-i [USB]完成
      3. 通过-b 解锁 BSL 。 这必须在每一条线路中完成。
      4. 最后执行-z 以断开通信。 这样可以确保当我们执行新行时、初始化是从无连接启动的。
    2. 非常小、很难在-z 参数上看到错误。 SET_PC 和0x2504之间有一个空格。 擦除该空间、您应该能够执行该行。

    这是修改后的批处理文件、我认为它也适用于您。 请告诉我结果:)谢谢!

    BSL-Scripter.exe -d -i [USB]-n 5xx -b pass32_wrong.txt -z
    BSL-Scripter.exe -d -i [USB]-n 5xx -b pass32_default.txt -z
    BSL-Scripter.exe -d -i [USB]-n 5xx -b -w RAM_USB_BSL.txt -z [SET_PC、0x2504]

    REM 在此提供超时
    BSL-Scripter.exe -d -i [USB]-n 5xx -b pass32_default.txt
    BSL-Scripter.exe -d -i [USB]-n 5xx -w blinkLED_F5528.txt -z [Set_PC、0x4400]

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

    您好 Fatmawati、

    客户可以让它正常工作。  请考虑  在下一个版本中包含类似这样的示例。

    本示例中有几个拼写错误、但它非常接近、我可以将其弄清楚。  这是最终版本。  

     

    fwupdate.bat 的内容:

    ----------------------------------

    @μ s 回波关闭

    BSL-Scripter.exe -g -i [USB]-n 5xx -b pass32_wrong.txt -z

    BSL-Scripter.exe -g -i [USB]-n 5xx -b pass32_default.txt -z

    BSL-Scripter.exe -g -I [USB]-n 5xx -b -w RAM_BSL_USB.txt -z [SET_PC、0x2504]

    超时/t 2 /nobreak

    BSL-Scripter.exe -g -i [USB]-n 5xx -b pass32_default.txt -z

    BSL-Scripter.exe -g -i [USB]-n 5xx -w %1 -z [SET_PC、0x4400]

    ----------------------------------

     

    我必须在第三行进行更改:RAM_ BSL USB_、而不是 RAM _USB_BSL。

    最后一行在逗号后面有一个空格、导致它烧断。

    我在下一行到最后一行添加了–z、以实现一致性、尽管–z‘s 中没有任何一个看起来无关紧要

    我将–d 参数更改为–g、以最大程度地减小输出并避免 生成大量日志文件。

     

    示例使用:

    fwupdate fimware_1_00.txt

    谢谢!
    Keith N.

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

    关于文件的命名、我将把它作为未来版本的增强功能。 非常感谢您的意见和反馈!