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.

[参考译文] TM4C1230C3PM:.out 和.hex 之间的差异

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177964/tm4c1230c3pm-difference-out-and-hex

器件型号:TM4C1230C3PM
主题中讨论的其他器件:UNIFLASH

您好!

我认为这个问题一般是有效的,而不仅仅是对我来说。 如果我选择了错误的类别、请道歉。

问题如下:

我有一个文件包(.out 和.hex)、我还有源代码、但我不确定它是否与该.hex 相关。 那么、我采用了该代码并构建了它。 构建过程正常、并生成新的.out 和.hex。

将"旧".hex 与新的.hex 进行比较、内容与每字节的字节完全匹配、但如果我比较.out、字节代码不匹配。

因此、问题如下:

-使用 uniflash、加载.out 而不是.hex 有一些差异? 我希望加载.out 或.hex 的行为是相同的。

2 .out 是否可能不匹配? ( 十六进制的完美匹配)

-是否有教授.out 格式的规范? (如十六进制文件规范。)

-有了源代码、是否可以找到用于构建、链接等的正确工具链。 ?? 我认为我选择了合适的编译器、但问题可能出在 工具链的其他工具上

不幸的是、我无法在电路板上进行测试、因为我现在没有测试。

请帮助我了解这款计量器。

谢谢、

此致。

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

    您好!

    [引用 userid="498071" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177964/tm4c1230c3pm-difference-out-and-hex ].out 而不是.hex 的加载有所不同? 我希望加载.out 或.hex 的行为是相同的。.

    它们非常不同。 最大的区别是*。out 文件具有调试器提供调试可见性所需的调试符号信息。 该信息不存在于.hex 文件中。 因此、.out 文件通常比.hex 文件大得多的原因。

    有关详细信息、请参阅以下文章:

    https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_A-Brief-History-of-TI-Object-File-Formats.html

    请参阅标题为"比较大小:目标文件、十六进制文件、系统存储器映像"的部分

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="2210" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177964/tm4c1230c3pm-difference-out-and-hex/4435025 #4435025"]请参阅标题为"比较大小:目标文件、十六进制文件、系统内存映像"[/quot]的部分

    以及:"十六进制文件来自目标文件"

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

    感谢您的分享...我一定会查看链接。 但我的问题是、如果我加载.out 或我加载.hex、我是否应该除了与电路板不同的行为之外? 我不是说要进行调试、而是使用 Uniflash 进行加载以进行大规模生产。

    再次感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="498071" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177964/tm4c1230c3pm-difference-out-and-hex/4435478 #4435478"]但我的问题是、如果我加载.out 或加载.hex、我是否应该除了与电路板不同的行为?

    假设十六进制文件已正确生成、则为否  

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

    您好!

    我做了另一个有趣的测试。 为了测试、我使用了实用程序"armhex"、并生成了.hex #1 、作为输入 .out #1。 使用 code composer studio、我编译了我的项目、生成.out #2和.hex #2。

    最后、我比较了2个十六进制、内容是相同的。

    因此、如果.out 不同、则生成的.hex 可能相同。 我认为2个不同的.out 会生成2个不同的.hex、但显然我错了

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="498071" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1177964/tm4c1230c3pm-difference-out-and-hex/4436745 #4436745 "]SO、如果.out 不同、则生成的.hex 可能相同。 我认为2个不同的.out 会生成2个不同的.hex、但显然我错了

    需要记住的关键是.out 文件包含两个部分-目标的实际代码(加载在目标上)和符号调试信息(加载到调试器)。 符号调试信息在不同构建之间可能会有很大的变化、因为它具有主机时间戳信息、源文件的目录路径等内容 但这不会影响要加载到目标上的代码。 十六进制文件主要来自实际代码、而不是符号调试信息、因此十六进制文件不会受到影响。

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

    这正是我想要听到的。 谢谢!!

    此致。