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.

[参考译文] AM6422:CCS-如何在 R5 FreeRTOS 项目中使用-fno-short-enums

Guru**** 2482225 points
Other Parts Discussed in Thread: AM6422

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1444431/am6422-ccs-how-to-use-the--fno-short-enums-in-r5-freertos-project

器件型号:AM6422

工具与软件:

尊敬的 TI 专家:

我使用的是基于 AM6422的定制电路板。 基于 SDK 09.02.00.08的 Linux 和基于09_02_01_05的 MCU SDK。

我使用 CCS12.1.0和 TI Clang v3.2.2.LTS

我想通过以下设置将枚举类型定义为4字节:

构建工程时、我将收到有关枚举类型不兼容警告的警告。 对于 FreeRTOS 内核和驱动程序库、我已将其重新构建为使用4字节枚举。 但是,对于编译器 ti-cgt-armllvm 中提供的库,仍然有枚举不兼容的警告,如 bellow ,

#16027-D 目标文件具有不兼容的枚举类型(C:\ti\ti\ti-cgt-armllvm_3.2.rst\lib\clang/15.0.7/lib/armv7r-ti-none-eabihf/libclang_rt.builtins.a"= packed、"./syscfg/ti_dpl_config.o = 32位)

#16027-D 目标文件具有不兼容的枚举类型(C:\ti\ti\ti-cgt-armllvm_3.2.rts\lib\armv7r-ti-none-eabihf/c/libc.obj 中的"sprintf.obj"= packed、".cm"=/syscfg/ti_dpl_config.o 32位)

#16027-D 目标文件具有不兼容的枚举类型(C:\ti\ti\cgt-armllvm_3.2.rts\lib\armv7r-ti-none-eabihf/c/libsysbm.a"= packed、"./syscfg/ti_dpl_config.o = 32位)

我应该如何解决这些警告?

此致

xixiguo

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

    您好!

    这里有更新吗?

    此致

    xixiguo

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

    嗨、 xixiguo:

    您的观察结果正确、上述警告是由于编译器随附的库未构建为使用4字节枚举这一事实造成的。  目前没有办法重建这些库。  如果您只能证明代码和运行时库代码所使用的枚举类型不会以任何方式在它们之间共享、则可能会抑制该警告。 请参阅有关 --diag_suppress的文档(例如-WL、--diag_suppress=16027)。  但是、如果它们使用相同的枚举类型、那么您可能会遇到难以调试的问题。

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

    你好、Alan、

    感谢您的答复! 这很清楚。

    是否会更新编译器随附的库以支持4字节枚举? 如果支持、哪个编译器版本支持该功能?

    此致

    xixiguo

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

    目前我们 没有计划为此运送图书馆。 我提交了增强请求 EXT_EP-11999 供我们考虑、欢迎您遵循。  如果我们决定、它将是一个新的编译器版本、可能是5.0或6.0。

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

    您好、Alan:

    感谢您发送编修。 我要跟随它。

    BR  

    xixiguo