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++编译器
当我通过.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
感谢您的测试案例。 我可以重现相同的行为。 编译器不应像这样崩溃。 我提交了 EXT_EP-9826条目 以进行调查。 欢迎您使用我签名中的以下链接进行操作。
同时、代码中存在错误。 CLA 编译器不支持完整的 C 语言、而是一个子集。 不支持的功能包括函数指针以及从后台任务进行函数调用。 有关更多详细信息、请在 C28x 编译器手册中搜索标题 为 C 语言限制的子章节。
谢谢、此致、
乔治
我想、我已经使用过后台任务、因此支持从后台任务进行函数调用。 但问题是、我必须将它们内联并将优化级别设置为1。
因此、无法使用 CLA 中的函数指针。 我将记住这一点、并将按照您的建议阅读编译器指南。
谢谢你。