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.

[参考译文] 编译器/TMS320F280049:编译器/TMS320F280049:TI C/C++解析器中存在缺陷

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/908089/compiler-tms320f280049-compiler-tms320f280049-defect-in-the-ti-c-c-parser

器件型号:TMS320F280049

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

当我通过.cla 文件中的函数指针调用函数时、我会收到此错误、该函数在结构中定义。 函数指针已在 main()中指定函数的地址。

使用 C2000文件夹中的示例代码。

我还尝试安装最新的编译器、但 CCS V8没有在首选项中显示编译器。 它是否需要更高版本的 CCS?

生成文件:"./cla_ex1_background_task_cla.cla"
调用:C2000编译器
"C:/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.1.LTS/bin/cl2000 /ti/c2000/C2000Ware_2_00_00_03/device_support/f28004x/common/include /ti/c2000/C2000Ware_2_00_00_03/device_support/f28004x/headers/include -v28 -ml -mt --cla_support=cla2 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu-off-include_background_cla=/Users/RND17/Desktop/cla_ex1_background_task -board_background_excla_background-boards\cla_background-boards=cla_background_excla=cla_background-boards\cla_background_excla=cla_background-boards\contine_background-boards\cla_background_track_boards\cla_background-boards\continu_boards\cla_background-boards\cla_background-boards\continu.cla_background-boards\continu.cla

:/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.1.LTS/include -boards\cla_background_boards\cla_background-boards\continu_boards\continu_boards\continu_board.cla=


accla.exe
当处理函数(未知或文件范围)文件(未知)行0时

、这是由 TI C/C++解析器中的缺陷引起的。
TI 客户支持可能会建议解决方法来避免这种情况。

升级到编译器的最新版本可能会解决此问题。

在 E2E 支持论坛中联系 TI、网址 为 http://e2e.ti.com
的"Development Tools"、"TI C/C++ Compiler"下。 请参阅标题
为"提交问题"的链接。

我们需要看到整个错误消息和完整、可重现
的测试案例、包括所有命令行选项。
包含由选项--preproc_with_comment 创建的.pp 文件 

我还附加了 pp file.e2e.ti.com/.../cla_5F00_ex1_5F00_background_5F00_task_5F00_cla.pp.txt

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

    我们的编译器专家明天将能够发表更多评论、但我也许可以帮助您在 CCSv8中使用最新的编译器。

    最新的 C2000编译器是20.2-1。  这是您安装的版本吗?  我刚才通过转至 Help -> Install Code Generation Compiler Tools 将其安装到 CCSv8.1中。  然后、我选择了 C2800 20.2.1编译器。  CCS 必须在安装过程中重新启动。  完成此操作后、我可以在首选项中看到编译器:

    它也可作为我的项目选项中的一个选项使用:

    此致、

    John

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

    这些是编译器首选项。

    这是编译器的安装路径。

    我无法在编译器首选项中看到已安装的编译器20.2.1 LTS。

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

    感谢您的测试案例。  我可以重现相同的行为。  编译器不应像这样崩溃。  我提交了 EXT_EP-9826条目 以进行调查。  欢迎您使用我签名中的以下链接进行操作。

    同时、代码中存在错误。  CLA 编译器不支持完整的 C 语言、而是一个子集。  不支持的功能包括函数指针以及从后台任务进行函数调用。  有关更多详细信息、请在 C28x 编译器手册中搜索标题 为 C 语言限制的子章节。   

    谢谢、此致、

    乔治

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

    我想、我已经使用过后台任务、因此支持从后台任务进行函数调用。 但问题是、我必须将它们内联并将优化级别设置为1。

    因此、无法使用 CLA 中的函数指针。 我将记住这一点、并将按照您的建议阅读编译器指南。

    谢谢你。