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.

[参考译文] TMS570LC4357:TI:10.1.0.00010 /编译器:v20.2.1.LTS -特定函数的对齐

Guru**** 2430620 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1195162/tms570lc4357-ti-10-1-0-00010-compiler-v20-2-1-lts---alignment-of-a-specific-function

器件型号:TMS570LC4357

是否有人知道用于对齐 C 函数的 pragma 指令?

编译器: TI:10.1.0.00010 /编译器:v20.2.1.LTS

谢谢

Mathieu

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

    遗憾的是 、#pragma CODE_ALIGN (函数、常量)不起作用。

    编译器输出:第833行:警告#163-D:无法识别#pragma

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

    您好、Mathieu、

    是的、CODE_ALIGN 对我也不起作用。

    您可以尝试 aligned 属性、我测试了它是否适合我。

    下面是一个与32字节对齐的示例

    在上面的示例中、它将延迟函数的起始地址与32字节的倍数对齐。

    --

    谢谢、此致、
    Jagadish。

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

    非常感谢 Jagadish! 不幸的是,这对我不起作用。 我没有收到使用 aligned 属性的任何警告。 但函数未按指定对齐。 如需了解相关信息、请使用 thumb 指令(--code_state=16)。

    __attribute__((aligned(256)) void 函数()

    从映射文件:

    0005e241  功能

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="464967" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1195162/tms570lc4357-ti-10-1-0-00010-compiler-v20-2-1-lts---alignment-of-a-specific-function "]编译器: TI:10.1.0.00010 /编译器:v20.2.1.LTS

    我之前曾报告 过 Compiler/TM4C129XNCZAD:TI arm v20.2.3.LTS 编译  器似乎不支持代码对齐、因此引发了 EXT_EP-10161 - ARM 编译器手册错误地声称支持#pragma CODE_ALIGN。

     根据 EXT_EP-10161中描述的截至编译 器 ARM 18.12.8.LTS 和 ARM 20.2.5.LTS  属性对齐的变通办法、应该可以使用。 我尚未对此进行测试。

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

    感谢 Chester 提供的信息。

    Mathieu、您能不能尝试使用最新的 LTS 编译器、因为我使用 TI v20.2.7 LTS 进行了测试、  确实适合我。

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

    您好 Jagadish、

    很遗憾、我无法尝试使用此版本。 我必须坚持使用版本  v20.2.1.LTS。 在我的行业中、更改版本成本非常高。

    您能为版本 v20.2.1.LTS 提供帮助吗?

    谢谢

    Mathieu

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

    您好、Mathieu、

    我们可以使用链接器脚本来实现。

    执行以下步骤:

    1.在链接器脚本中创建一个具有所需对齐的"my_section"。

    现在使用 CODE_SECTION pragma 将所需的函数分配给"my_SECTION "。

      

    如有必要、请参阅随附的示例。

    e2e.ti.com/.../Function_5F00_align_5F00_compiler_5F00_20_5F00_2_5F00_1_5F00_LTS.zip

    --

    谢谢、此致、
    Jagadish。