单片机/MCU论坛
直播中

陈丽

7年用户 1466经验值
私信 关注

求助,如何将C++代码从GNU移植到Tasking编译器?

我是一名软件开发人员,正在研究自动驾驶的应用,并已将目标设备入围为 Aurix TC399,作为原型阶段的第一步。 一旦原型按要求运行,我们想订购多个硬件进行批量生产。 在此过程中,我们几乎没有遇到需要解决的障碍。 我恳请你帮助我们解决这个问题。

问题 :当前代码是使用 GNU 编译器编译的,代码按定义运行。 但是,我们希望让它在 Aurix TC399 开发套件上运行。 在此过程中,我使用了使用任务编译器的 Aurix Development Studio IDE。 在将代码从 GNU 编译器移植到 TASKING 编译器的过程中,标准定义库存在多个问题(编译错误)。

您是否已经拥有 TC399 控制器支持且 CAN 编译的 C/C++ 标准库?或者您是否提供任何帮助/指导来修复移植问题?

请注意:我已经阅读了文档—— “GCC to TASKING 英飞凌AURIX-WEB 迁移指南”。 但这并不能帮助我们解决移植问题。

                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(2)

李刚

2024-1-31 11:23:53
如果你尝试将 GNU TriCore 工具创建的库与 ADS 软件包中包含的 TASKING TriCore 工具相关联,这可能行不通。 您需要使用 TASKING 工具重新编译库源代码才能创建 TASKING 工具编译库。
如果你面临的问题性质不同,比如 C 编译器或汇编器错误,则需要更多关于你收到的诊断错误消息以及确实引发错误的 C 语言或汇编语言源代码的详细信息才能提供进一步的提示。
举报

醉清歌

2024-1-31 15:36:38
将C++代码从GNU移植到Tasking编译器需要以下步骤:

1. 确保代码符合ANSI / ISO C++标准:Tasking编译器可能对一些GNU扩展语法不兼容。确保你的代码符合ANSI / ISO C++标准,可以通过编译器选项来设置。

2. 配置编译器选项:Tasking编译器有自己的选项和配置方式。需要了解Tasking编译器的文档,并根据需要进行配置,以便正确编译代码。

3. 解决标准库问题:Tasking编译器可能对标准库的实现有所区别。如果你在编译时遇到标准库错误,可以尝试以下方法:

   a. 检查头文件:确保使用正确的头文件,并检查头文件路径是否正确配置。

   b. 检查库的链接:确保正确链接所需的库文件,并将库文件路径正确配置。

   c. 解决库文件版本问题:如果代码中使用了特定版本的库文件,确保Tasking编译器支持相应的库文件版本。

   d. 调整代码:如果Tasking编译器对某些标准库函数有所不同的要求,必要时可能需要根据Tasking编译器的要求进行代码调整。

4. 进行适配和移植:除了标准库问题外,还可能需要对代码进行适配和移植,以适应Aurix TC399开发套件的硬件和操作系统。这可能涉及到底层驱动程序的更改,以及对Aurix TC399特定功能和接口的使用。

5. 逐步测试和调试:在完成移植后,逐步进行测试和调试以确保代码在Aurix TC399上运行正常。注意观察任何编译或运行时错误,并尝试解决它们。

最后,如果你对移植过程有困惑或遇到特定的错误,请参考Tasking编译器的文档和官方支持渠道,他们将能够提供更详细和专业的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分