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.

[参考译文] 编译器/处理器 SDK-AM335X:版本构建不会减小映像大小

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/661543/compiler-processor-sdk-am335x-no-image-size-reduction-for-release-build

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:TMDSSK3358

工具/软件:TI C/C++编译器

支持路径:/Product/Help、带器件选择/

您好!

作为 Processor SDK RTOS 入门指南的一部分、我为 TMDSSK3358入门套件板构建了 RTOS_TEMPLE_APP 项目。  

在我构建调试配置时、生成的.out 文件为1、593、124字节。  如果我添加一个后处理步骤 pdkAppImageCreate 以生成适合编程到 NOR 闪存的 bin 文件、则 bin 文件大小为918 592字节。 对于仅包含 UART、I2C、McSPI 和 DSP/BIOS 支持的简单映像而言、这似乎非常大。  有什么想法吗?

2.当我构建 Release 配置时、我希望由于更高的编译器优化级别、符号被剥离等原因而减少生成的.bin 文件  但生成的 Release .out 文件实际上更大、为1、594、140字节。  bin 文件大小为918、592字节、与 Debug 构建相同。

我的问题是、为什么 Release 映像大小没有减小?  (Release 映像的用途是什么?)

谢谢、

Keith

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Keith、

    对反应缓慢表示歉意。 我已通知编译器团队查看这一点、以了解构建配置文件之间的二进制大小没有差异的原因。

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

    测量内存使用情况的方法不准确。  请考虑使用链接器映射文件中的模块摘要。  本文对此进行了介绍

    [引用 user="Keith "]为什么发行映像大小没有减小?

    .bin 文件的大小由表达式给出...

    最高初始化地址-最低初始化地址

    在您的情况下、我很确定有一些存储器范围是完全未使用的。  这些存储器范围通常称为空穴。  bin 格式非常简单、无法表示孔洞、只是具有与孔洞大小相同的0字节字符串。  因此、您无法使用.bin 文件的大小来了解系统使用的内存大小。

    谢谢、此致、

    乔治

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