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.

[参考译文] TMS320F28388D:更改项目目录时、十六进制数据会发生变化。

Guru**** 2589275 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1160329/tms320f28388d-hex-data-becomes-different-when-a-project-directory-is-changed

器件型号:TMS320F28388D

您好、香榭丽舍

我的客户在 F2838x C28x 内核上遇到了一个奇怪的问题。 当十六进制数据更改项目目录和折叠名称时,会更改这些数据。 CM 内核数据相同、但 C28x 内核数据稍有不同。 它们使用 CCS v11.2和最新的编译器 v21.6.0.LTS。 我确认所有包含的通行证和配置在项目属性中都是正常的。  

我不知道会出现 这种情况的原因是什么。 是否有人可以审查此问题?

谢谢、
Steve  

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

    我假设链接器映射文件也不同。  如果是、这是开始调查的更好的地方。

    请阅读文章 链接器命令文件入门的第一部分。  重点了解术语输出部分输入部分。   

    比较映射文件。 我希望您会在地址方面看到一些差异。  现在请忽略这些内容。  重点介绍 每个输入部分的大小。  查找具有不同大小的最小输入段、该输入段来自工程中的源文件、而不是库。   

    对于该源文件、添加编译器选项--src_interlist、然后在两个不同的项目环境中再次生成该源文件。  此选项使编译器保留自动生成的汇编文件、并向其添加注释以使其更易于理解。  检查每个汇编文件、并专注于与具有不同大小的输入段相关的行。  我不确定您会看到什么。  但我怀疑问题在这一点上会很清楚。  如果没有、请在此处发布相关信息。

    谢谢、此致、

    乔治

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

    乔治

    映射文件没有不同;两者都是100%相同的、因为所有项目文件和源文件都是复制和粘贴的。 HEX 文件在某些地址中是不同的。 让我再次检查生成的 asm 文件。

    Steve

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="121760" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1160329/tms320f28388d-hex-data-becomes-different-when-a-project-directory-is-changed/4364185 #4364185"]地图文件没有不同

    这意味着所有输入段和输出段的大小相同、从同一地址开始。  这些段中的内容可能有一些差异。

    请使用与以下命令类似的命令反汇编每个最终可执行文件:dis2000 --all final_execute.out > final_executable_dis.txt

    然后比较这些反汇编文件。  我希望您届时会看到一个差异。  可能在函数中。  从该点向后看标签、直到看到函数标签。  确定哪个源文件包含该函数、然后查看编译器为该文件/函数生成的汇编。

    谢谢、此致、

    乔治

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

    尊敬的乔治:

    我发现预定义的调试选项引起了这个问题。 从 assert 生成的一些数据常量略有不同、我仍不清楚 项目折叠名称为何会影响数据常量。 无论如何、删除调试选项可解决此问题。

    谢谢、
    Steve