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.

[参考译文] MSP430FR5994:.bin 文件格式

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1357409/msp430fr5994-bin-file-format

器件型号:MSP430FR5994

您是否具有一些有关 msp430-elf-objcpy.exe 生成的.bin 文件格式的文档?

我想自己去弄清楚...

构建具有256KB FRAM 的 MSP430FR5994时、我希望收到一个映射到 FRAM 中的0x40000字节文件。  

看来情况并非如此。

通过参阅在同一构建过程中生成的.ihex 文件、我可以清楚地看到 FRAM 内容的开头出现在.bin 文件中的0x1500处。  0到0x14FF 全为0。 那是什么东西?

如果开始时有额外的内容、则该文件应该更长。 这不是我的文件的 cas (0x3F482字节长)。

显然、.bin 文件会忽略某个内容。  我想、如果不进行编程(未使用)、那么 FRAM 的最后一项就会被省略。  对吧?

感谢您的帮助。

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

    在手册页中:

     ‘使用"objcopy"来生成原始二进制文件
    ‘二进制‘的输出目标(例如、使用"二进制-O ")。  当"objcopy"‘
    生成一个原始二进制文件、它基本上会生成一个内存转储
    文件内容的副本。  所有符号和重定位
    信息将被丢弃。  内存转储将在加载时开始,
    复制到输出文件中的最低段的地址。

      在生成 S 记录或原始二进制文件时、
    ‘"S-S"来删除包含调试信息的段。  In
    ‘情况下的"J-R"会有助于删除包含但不包含
    二进制文件不需要的信息。

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

    您的回答令我的故障排除感到惊讶。

    在经历了许多试验和错误之后,我想知道发生了什么。

    一旦我剥离0x2B00和0x4000之间的所有和每一个单独的部分、我就得到了预期的应该是完全正确 FRAM 内容的256KB 文件。

    删除的部分是 RAM、与我们的二进制文件中的生产无关。

    根本原因是.ld 文件中缺少 NoLoad 属性。

    经验教训。