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.

[参考译文] 编译器/TMS320F280049C:TMS320F28004x

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/841138/compiler-tms320f280049c-tms320f28004x

器件型号:TMS320F280049C
主题中讨论的其他器件:C2000WARE

工具/软件:TI C/C++编译器

我正在从 CPU 应用程序迁移一些代码以使用 CLA。  所有代码都在 CPU 中编译和运行。  当我尝试编译和编译应用程序时、某些代码被移动到 CLA、我会得到以下错误。  我在 C2000Ware 示例(device_support/f28004x/CLA/CLA_ex1_background_task)之后对代码建模。

"C:\ti\c2000Ware_2_00_00_02\device_support\f28004x\cony\include\f28004x_cla_typedefs.h"、第84行:致命错误#35:#error 指令:

f28004x_Cla_Typedefs.h 必须包含在 f28004x_Device.h 或使用防护宏 F28_DATA_Types 或 DSP28_DATA_Types 重新定义数据类型的任何其他头文件之前

此错误消息位于头文件"f28004x_cla_typedefs.h"中。  我看到编译器在编译*。cla 文件时打开定义"__TMS320X28XX_cla__"。

我缺少有关为 CLA 开发代码的内容。  

请提供建议。

Steve Haddad

Ametek Aerospace

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

    FWiw、这里是 F28004x 更新的多日技术讲座的链接。 它有一章关于 CLA 的内容、还有一个设置用法的实验。

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

    Steve、

    首先、请注意、我们将不再使用这些定义、而是使用在编译器提供的头文件中定义的标准 C99数据类型。

    #include 

    如果您的项目需要这些旧定义、则可以将其包括在内、但如果您可以移到 C99、则可能是更干净、更标准的解决方案。

    转到错误消息...

    [引用 user="Steve Haddada]\n 此错误消息位于头文件"f28004x_cla_typedefs.h"中。  我看到编译器在编译*。cla 文件时打开了定义"__TMS320X28XX_cla__"。

    正确、但错误来自对 C28x 数据类型的检查 、这些数据类型可以在另一个.headER 文件中定义。

    #if (!defined (f28_data_Types)&&!defined (DSP28_data_Types)) 

    [引用 user="Steve Haddad"]必须在 f28004x_Device.h 或使用防护宏 F28_data_Types 或 DSP28_data_types重新定义数据类型的任何其他头文件之前包含 f28004x_Cla_Typedefs.h

    在项目中搜索具有 F28_DATA_Types 或 DSP28_DATA_Types 的文件。  这些内容应该只包含在 CLA typedef 文件之后、因此为了消除错误、需要在项目中的某个位置交换 include 的顺序。   

    希望这对您有所帮助。  请单击"验证答案"按钮、告知我您是否能够解决您的问题。  如果您需要有关此问题的更多信息、请拒绝答案并发布后续信息。

    此致

    Lori

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

    您好、Lori、

    #include 已包含在我的*。cla 文件中、但我仍然收到相同的错误。

    Steve Haddad

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

    [引用用户="Steve Haddad"]#include 已包含在我的*。cla 文件中、但我仍然收到相同的错误。

    Steve、

    如果只使用 stdint 中的 C99数据类型 (它们看起来像 int16_t、int32_t 等) 然后您不需要旧的 datatypes.h 文件、可以将其删除。   

    如果您要使用旧的 TI 数据类型、或同时使用 stdint 类型和 TI 类型、则需要按照我之前的文章中所述解决包含顺序问题。

    此致

    Lori

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

    Steve、

    我很高兴您能够解决此问题。  感谢您的反馈。  我想检查 TI 提供的配套资料中是否有任何需要更正的内容?   

    感谢您的参与、祝您编码愉快

    Lori