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.

[参考译文] 编译器/TMS320F28377S:CCS 无法编译.CLA 文件

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/622214/compiler-tms320f28377s-ccs-cannot-compile-cla-file

器件型号:TMS320F28377S

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

尊敬的:

大家好、我正在尝试使用 CLA 进行简单计算(标准化等)、并使用 ADC 结果、这是我第一次使用 CLA。

初始化、主代码中 CLA RAM 的配置看起来不错、但当我在源代码上添加'.cla'文件时遇到问题。

错误语句如下所示:

#35 #ERROR 指令:"头文件 CLA 编译器不支持"

#452 "long long"类型不是标准类型。

CLA 文件包含 CLA 正在使用的 CLA 任务中断函数。

我在 C2000链接器->高级选项->命令文件预处理->预定义预处理器宏上添加了'CLA_C=1 '。

我将 cla1设置为"指定 CLA 支持"。

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

    我怀疑 stdio.h 有用于 CLA 的标准库、因为 CLA 实际上没有任何 I/O 外设。  您需要 stdio 中的哪些函数?

    此外、关于长整型支持、CLA 不支持64位数据类型。  在 CLA 上、int 为32位、而不是像 CPU 那样为16位。

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

    CLA 编译器不支持 long long、但可以使用64位结构类型读取/写入64位类型。
    CLA C 编译器可以对64位类型进行读取和写入、但无法对其执行任何其他操作。

    要使用 uint64和 int64、请在 shared.h 文件中包含 F2837xD_Cla_typedefs.h。
    另请参阅此链接 :e2e.ti.com/.../328781

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

    Vasudha、您好!

    感谢您的建议。

    我删除了所有包含 long long 类型的头文件、并将 math.h 更改为 CLAmath.h

    之后、发生了一些 RAM 和 CAN 寄存器错误。

    总之、代码现在可以正常工作、没有任何错误。

    再次感谢您的帮助。

    此致、

    极坐标型

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