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:COFF 和 EABI 格式 DIFF

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/973042/tms320f28388d-coff-and-eabi-formats-diff

器件型号:TMS320F28388D

您好!

COFF 和 EABI 格式之间的区别是什么?

我在使用 EABI 格式时遇到了启动时间问题、该格式所需的时间比 COFF 格式长。  

如果我使用 EABI 格式、引导时间需要10ms、如果 我使用 COFF 格式、引导时间为2ms、这会导致 EABI 格式的大差异?

我的观察结果:

在 EABI 格式中、我发现全局变量初始化在 cinit 期间花费大量时间。 我使用了 zero_init =、但理想情况下、我们不应将其用于我们的软件。

我无法使用 COFF 格式、因为闪存 API 是使用 EABI 格式开发的、需要将其集成到我的应用中。

您能不能告诉我如何实现与 COFF 格式相同的引导时间。

谢谢、

Nagesh

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

    Nagesh、

    [引用] 我在使用 EABI 格式时遇到引导时间问题、该格式所需的时间比 COFF 格式长。  [/报价]

    这是其中一个关键区别。 在 EABI 中、所有未初始化的变量都会初始化为零、这在 COFF 中不是这样、因此您会看到引导时间差异。

    您可以 在此链接上找到有关 EABI 与 COFF 信息的更多信息

    此致、

    Vivek Singh

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

    您好、Vivek、  

    谢谢你。  

    我查看了 COFF 和 EABI 之间差异的链接。

    TI 计划进行 COFF 格式的阶段、但您能告诉我们、直到 TI 计划支持 COFF 格式时、有一个确切的时间范围、这样可以帮助我们决定航空产品所需的格式。

    由于我们遇到了启动时间问题、因此我们计划对产品使用 COFF 格式、这是一种简单的方法、因为我们已将其用于 F28335产品系列。  

    您对使用此格式的建议是什么?

    谢谢、

    Nagesh

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

    Nagesh、

    对于新器件、我们仅支持 EABI 格式、因此我需要就此与我们的团队进行联系。   

    在启动时间问题上、我们讨论 了在这个帖子上使用-zero_init 选项。 没有帮助缩短启动时间的解决方案?

    此致、

    Vivek Singh

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

    您好、Vivek、  

    是的、使用 zero_init 选项可减少引导时间问题。 但是、由于我们已将 COFF 格式用于其他航空产品、并且如果我们了解 TI 提供的 COFF 格式支持的时间范围、我们计划现在也使用 COFF 格式。

    谢谢、

    Nagesh

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

    您好、Vivek、  

    是否有编译器标志、我们可以在 cinit 以 EABI 格式禁用初始化全局变量的初始化。

    除 zero_init = off 外。

    我知道有一个 autobinit.c 文件、我不喜欢注释 TI 提供的代码。

    谢谢、

    Nagesh

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

    Nagesh、

    我必须将其提交给我们的编译器团队。

    此致、

    Vivek Singh

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

    [引用用户="Nagesh RK"]

    是否有编译器标志、我们可以在 cinit 以 EABI 格式禁用初始化全局变量的初始化。

    除 zero_init = off 外。

    [/报价]

    不幸的是、不

    请考虑使用链接器选项 --cinit_compression=off。  这会导致全局变量的初始化速度更快、但初始化表需要更多的存储器空间。  我不知道这是否可以解决问题。  但它很容易试验和看到。  有关更多详细信息、 请在 C28x 汇编工具手册中搜索 标题 为压缩(--cinit_compression 和--copy_compression 选项)的子章节。

    谢谢、此致、

    乔治