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.

[参考译文] TM4C1294NCPDT:应用查询

Guru**** 2540460 points
Other Parts Discussed in Thread: MSP432E401Y, TM4C1294NCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1042058/tm4c1294ncpdt-application-inquiry

器件型号:TM4C1294NCPDT
主题中讨论的其他器件:MSP432E401Y

大家好、团队、

我的客户在 MSP432E401Y 微控制器上运行基于 FreeRTOS 的应用程序。  

此应用 程序现在已迁移到 Tiva 控制器 TM4C1294NCPDT。

存储器分配中存在一些主要差异。 例如、Tiva 的 app_custom_post。obj 内存分配为12、608KB、而对于 MSP、它仅为8、448KB。 app_custom_post、c 文件中没有代码差异。 几乎所有文件都是两个平台的通用文件。

查询:

存储器分配差异的原因是什么?  

总的来说、我们观察到基于 MSP 的应用的闪存使用量为73%、而 Tiva - 80%。 请查找附加的内存分配快照。

使用的库版本:

simplelink_msp432e4_sdk_3_20_00_10

TivaWare_C_Series-2.1.4.178

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

    您好!

     您是否具有相同的编译器版本和相同的编译器优化级别? 如果存在任何差异、则 obj 文件将会不同。 如果任何 C 文件引用 TivaWare 库与 SimpleLink、则 obj 肯定会不同。 首先检查是否使用了相同的编译器版本和相同的优化级别。  

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

    您好、Charles、

    感谢您的快速响应。
    两个工程的编译器版本和优化级别相同。
    是否有任何其他可检查的具体差异?

    此致、

    Renan

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

    我会将您的问题转发给 CCS 团队、希望他们能提供一些故障排除的线索和技巧。   

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

    对于每个项目、请遵循以下说明。   请重建整个项目。  一种方法是右键点击工程名称、然后选择 Rebuild Project。  然后将"Console"(不是问题)视图的内容保存到文本文件中。  使用名为 Copy Build Log 的图标。   

    创建一个 zip 文件、其中包含这两个日志文件以及每个项目中的链接器映射文件。  请将该 zip 文件附加到您的下一个帖子中。

    谢谢、此致、

    乔治

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

    您好、George、

    请找到附加的控制台和链接器映射文件、以用于这两个项目

    e2e.ti.com/.../console-and-linker.zip

    此致、

    Renan

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

    最大的区别是 MSP 编译器使用编译器选项 --gen_func_subsections=on、而 Tiva 编译器不使用。  此选项将每个函数放在其自己的部分中。  如果从未调用函数、则会从编译中删除该函数。  因此、Tiva 编译包含许多未被调用的函数、这些函数的代码占用存储器中的空间。

    我还注意到、这两个构建都禁用了优化。  如果您想减小代码大小、请将--opt_level 设置为您可以达到的最高设置、理想情况下为--opt_level=4。  与之结合使用时、使用-opt_for_speed=1-opt_for_speed=0告知编译器代码大小比 speed 更重要。

    谢谢、此致、

    乔治