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.

[参考译文] TMS320F28379D:在两个构建中函数具有不同的大小

Guru**** 2585275 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1196966/tms320f28379d-function-has-different-sizes-in-two-builds

器件型号:TMS320F28379D

您好!

                我有两个旨在具有相同功能但在不同环境中运行的项目。  这两个工程具有相同的优化设置、并且除了起始地址外、这两个工程的 cmd 文件是相同的。  在 cmd 文件内的 SECTIONS 部分中、有一个组的联合体、如下所示。  当我查看两个项目的映射文件时、除了组1中的一个元素外、每个元素的大小都相同。  当我比较该元素中的函数时、有一个函数的大小与另一个项目中的对应函数不同。  但是、当我查看包含该函数的 lst 文件时、它们是相同的。  因此、大小似乎不应有所不同。  差异为24个字。  可能是什么原因导致了这种情况?

 union:run =可执行文件 RAM

  组:load=flash_storage_area_0,
          load_start (group0_load_start)、
          load_size (group0_size)、
          RUN_START (组0_RUN)
  {
     组0_Element0
  }
  
  组:load=flash_storage_area_1,
          load_start (group1_load_start)、
          load_size (group1_size)、
          run_start (group1_run)
  {
     组1_Element1
     组1_Element2
     组1_Element3
     组1_Elementn
  }
} PAGE = 0,ALIGN (4)

 谢谢、

 ED

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

    很抱歉耽误你的时间。

    我不知道发生了什么。  但我知道接下来要看的是什么。

    请发送两个映射文件。  指示输出段的名称(您将其称为元素)以及该输出段中的函数、但有意外的差异。  对于每个可执行文件,请使用类似于...的命令对其进行反汇编。

    dis2000 executable_file.out > disassembly_file.txt

    反汇编器 dis2000与编译器 cl2000位于同一目录中。   

    将所有文件放在 zip 文件中、然后 该 zip 文件附加到下一篇文章中。

    谢谢、此致、

    乔治