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.

[参考译文] CCS/TMS570LS1224:编译器警告是使用 CMSIS DSP 库时宏__packed 的重新定义

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/678357/ccs-tms570ls1224-compiler-warning-is-redefinition-of-macro-__packed-when-using-cmsis-dsp-library

器件型号:TMS570LS1224

工具/软件:Code Composer Studio

_packed 有两个定义。 一个位于 type_defs.h 中的 Cortex CMSIS DSP 库中 另一个位于 C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/include/sys/cdefs.h.中 第一个是扩展 arm_math.h 中的宏所必需的 如何纠正此问题? Thx。

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

    您是否能够识别定义中的任何差异或它们是否真正多余。 如果它们是冗余的、则应该可以简单地注释两个定义中的一个、并在 arm_math.h 文件中包含所需的更新头文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、
    其中一个变量在 TI ARM 编译器文件 cdefs.h 的第256行中定义、并与属性__packed__关联。 另一个是由 CMSIS DSP 库中 type_defs.h 第49行上的 ifdef CCS 启用的定义开关。 我认为它启用了 arm_math.h 的第4632行,即"ACC =_ SMLALD (S->A1、(Q31_t)_SIMD32 (S->state)、ACC",它位于 PID 函数中。 我想、如果我不使用此行、我可以忽略警告。 Thx。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jon、
    感谢您提供更多信息。 我需要与我的同事核实这一点、以查看他们是否了解某项工作、或者至少确保忽略警告不会导致另一个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Jon、

    只是为了跟进一点、这是一个似乎最近引入的有点新的冲突。 至少比相当旧的 CMSIS 库的发布更近。 一名协理指出,他们以前在使用图书馆时没有看到过这一点,但现在确实看到了这一点。 他们只是在 type_defs.h 中评论了定义、但 ARM 可能值得问一个问题、因为这是他们的库、可以确保这不会产生额外的问题、如果您有更大的顾虑、我建议您这样做。