我和STM32CubeMX一起为Nucleo F429ZI演示板生成了一个FreeRTOS项目,在Eclipse System Workbench for STM32 AC6工具上成功构建并在演示板上运行。
我想用C++,stl libraries.<
简单地将main.c重命名为main.cpp不起作用...
我看到有人能够在FreeRTOS中使用C++,但我找不到任何帮助,如果使用这个STM32Toolchain是可能的。
发布于 2017-11-17 18:41:19
是的,它是可以拥有的。而且这并不是很难(我假设您使用的是标准的ARM,非易失性,非易失性)。但是你必须记住,在CubeMX中的任何进一步修改都会把你的项目恢复到C。
就这样。请记住,您不能直接从.c文件调用C++函数。此外,当函数在.cpp文件中并且没有extern "C"属性时,单片机调用中断也是不可能的。无论您是否将其包含到项目FreeRTOS中,或由STM准备的任何其他内容。C++编译器只适用于.cpp文件,对.c文件没有影响。因此,它们的工作方式与之前一样。
发布于 2017-11-20 22:57:56
我used了Eclipse的Convert to C++菜单,而不是New -> Convert to a C/C++ project (Adds C/C++ Nature)菜单。
此命令正确复制了所有项目设置。然后我将main.c重命名为main.cpp,并进行了编译,现在它可以工作了。
发布于 2019-09-21 19:09:32
我这么做是为了Keil IDE。通常,您应该使用更新的HAL驱动程序由STM32CubeMX生成project项目,然后在Keil ARM MDK中打开项目,将STM32 -option-C/ C++ -MiscControls更改为--cpp,最后一步,您应该在.hpp和.cpp中创建用户C++文件
https://stackoverflow.com/questions/47332543
复制相似问题