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.

[参考译文] MSP430F6638:BSL-Scripter Intel Hex Extended

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430F6638, MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/590237/msp430f6638-bsl-scripter-intel-hex-extended

器件型号:MSP430F6638
主题中讨论的其他器件: MSP430F5659MSP-TS430PZ100USB

我刚刚开始为我的 MSP430F6638设计开发定制引导加载程序、并正在考虑使用 BSL-Scripter 软件。  使用 IAR IDE、我通常会生成一个采用英特尔扩展格式的额外输出文件、用于器件编程。  BSL-Scripter 似乎不支持扩展格式、因为我收到以下错误: [ERROR_MESSAGE]记录类型对 Scripter 无效!

我可以让脚本编写者使用英特尔标准格式,这对于只驻留在16位地址空间内的小型程序来说是很好的。  但是、对于需要在32位地址空间中编程的较大程序、需要使用 Intel-Extended 选项。

我想知道 BSL-Scripter 是否有计划在不久的将来支持英特尔扩展格式?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供产生错误的十六进制映像? 我提醒我们的 BSL 脚本编写者专家、以便他们能够进一步解决您的问题。

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

    您好、Ryan、

    请找到所附的 hex 文件。  它是使用最新版本的 IAR 创建的。 输出格式:英特尔扩展、格式变体:无。  十六进制代码0x02 (扩展段地址)看起来不能被识别。

    这只是一个简单的测试程序、我写它来刷写 LED 并接收启动 BSL 的命令。

    e2e.ti.com/.../TEST_5F00_CODE_5F00_1.zip

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

    这里是 MSP430F5659的512 KB P1.0闪烁示例、由 IAR 以 txt /十六进制格式生成...

    C:\msp430>flash -e -f test_msp430f5659.hex -ws -f test_msp430f5659.txt -v

    在 COM23上找到 SBW+

    获取器件
    # JTID 熔丝芯硬软 LotWafer DieX Diey
    0 91  正常  3081 2106 10   B7A50951 0A00 1100

    擦除
    时间:35ms

    文件:"test_msp430f5659.hex"
    地址:08000 字:262144
    大小:524288字节
    时间:42ms

    写智能
    时间:2604ms 速度:196、6kB/s

    文件:"test_msp430f5659.txt"
    地址:08000 字:262144
    大小:524288字节
    时间:46ms

    验证
    时间:2330ms 速度:219.7kB/s

    释放设备

    总时间:5117ms

    C:\MSP430>

    e2e.ti.com/.../test_5F00_msp430f5659.zip

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

    您好 Stefan、您好 Zrno、


    感谢您的参与。 我收到了您的十六进制文件、您说得对、BSL-Scripter 3.2.x 处理以下记录类型:

    00 -数据

    01 -文件结束

    04 -仅扩展线性地址


    之前有一个关于记录类型03的线程、这实际上是用特定地址设置 PC 寄存器。 使用 BSL、您可以改用 SET_PC 或 SET_PC_32来设置 PC 寄存器。

    查看您创建的固件映像,第一行为:020000020000FC,这实际上意味着扩展地址为0。 如果删除此行、下一行将正确执行、因为编程的第一个地址为0x8000。 但是、当我们到达0xFFFF 以上的地址时、这将再次带来问题、因为它具有记录类型02。

    我想尝试使用英特尔标准输出而不是英特尔扩展的输出来生成一些固件映像。 我很快就会回到您那里。

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

    您好 Stefan、您好 Zrno、

    我再次回到这里、得到一些结果:

    1. 使用 IAR for MSP430版本6.40、我选择了 Intel 标准输出、这应该会生成记录数据04而不是02。 如果您使用的 IAR 没有 Intel 标准选项、您可以在这里提到 IAR 的版本、以便我们使用相同的版本、我可以再现您的案例。
    2. 使用 IAR for EWARM MSP432版本8.11、我选择了 Intel 扩展输出、因为这只是可用选项(在附件中捕获)、我从编译中获得的 Intel hex 文件也使用04而不是02、因此我可以使用 BSL-Scripter 下载它。

    请告诉我、如果您在这方面仍然遇到失败。 很抱歉、我的回复迟到了、因为明天到2017年5月7日、我已不在办公室。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是最新的7.10.1。 有 Intel 标准选项,但效果良好。 我已成功使 BSL 在具有 FTDI USB 转换器的 MSP-TS430PZ100USB 板上工作。

    但是、我现在面临 BSL-Scripter 和 COM1的另一个问题。 我在类似的帖子中添加了详细信息:
    e2e.ti.com/.../2174944