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.
工具/软件: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
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