您好、香榭丽舍
我的客户在 F2838x C28x 内核上遇到了一个奇怪的问题。 当十六进制数据更改项目目录和折叠名称时,会更改这些数据。 CM 内核数据相同、但 C28x 内核数据稍有不同。 它们使用 CCS v11.2和最新的编译器 v21.6.0.LTS。 我确认所有包含的通行证和配置在项目属性中都是正常的。
我不知道会出现 这种情况的原因是什么。 是否有人可以审查此问题?
谢谢、
Steve
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.
您好、香榭丽舍
我的客户在 F2838x C28x 内核上遇到了一个奇怪的问题。 当十六进制数据更改项目目录和折叠名称时,会更改这些数据。 CM 内核数据相同、但 C28x 内核数据稍有不同。 它们使用 CCS v11.2和最新的编译器 v21.6.0.LTS。 我确认所有包含的通行证和配置在项目属性中都是正常的。
我不知道会出现 这种情况的原因是什么。 是否有人可以审查此问题?
谢谢、
Steve
我假设链接器映射文件也不同。 如果是、这是开始调查的更好的地方。
请阅读文章 链接器命令文件入门的第一部分。 重点了解术语输出部分和输入部分。
比较映射文件。 我希望您会在地址方面看到一些差异。 现在请忽略这些内容。 重点介绍 每个输入部分的大小。 查找具有不同大小的最小输入段、该输入段来自工程中的源文件、而不是库。
对于该源文件、添加编译器选项--src_interlist、然后在两个不同的项目环境中再次生成该源文件。 此选项使编译器保留自动生成的汇编文件、并向其添加注释以使其更易于理解。 检查每个汇编文件、并专注于与具有不同大小的输入段相关的行。 我不确定您会看到什么。 但我怀疑问题在这一点上会很清楚。 如果没有、请在此处发布相关信息。
谢谢、此致、
乔治
这意味着所有输入段和输出段的大小相同、从同一地址开始。 这些段中的内容可能有一些差异。
请使用与以下命令类似的命令反汇编每个最终可执行文件:dis2000 --all final_execute.out > final_executable_dis.txt
然后比较这些反汇编文件。 我希望您届时会看到一个差异。 可能在函数中。 从该点向后看标签、直到看到函数标签。 确定哪个源文件包含该函数、然后查看编译器为该文件/函数生成的汇编。
谢谢、此致、
乔治