我尝试将我的项目转换为TrueSTUDIO中的C++ for STM32
没有什么事情发生,当我将main.c更改为main.cpp时,我在构建后收到以下错误:
startup\startup_stm32f407xx.o: In function `LoopFillZerobss':
C:\Users\Michel\OneDrive\Stm32\Stm32CubeProjects\Fcb1010\Debug/..\startup/startup_stm32f407xx.s:115: undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
似乎仍然使用C(也在命令行(第一部分):
arm-atollic-eabi-gcc -o Fcb1010.elf Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.o Drivers\STM ...
Run Code Online (Sandbox Code Playgroud)
我希望使用g ++.
如何更改我的设置/过程,以便能够在TrueSTUDIO中为CubeMX生成的项目使用C++?
UPDATE
我删除了Atollic TrueStudio,删除了AC6 System Workbench,并重新安装了AC6 System Workbench.现在我可以在AC6 System Workbench上使用C++,甚至使用STL.
我不敢再次安装Atollic TrueStudio,因为它破坏了现有的AC6 SystemWorkbench安装,可能是因为它们都使用了Eclipse.遗憾的是,因为我喜欢TrueStudio的一些功能,但C++对我来说更重要.所以对我来说,不再是TrueStudio.
我有 Nucleo STM32H743ZI 板。我正在使用 CubeMX HAL(我尝试了多个版本)和 TrueStudio。Windows 10 中出现“虚拟 COM 端口”(我尝试了默认的 Windows 驱动程序和 ST 驱动程序)但我无法打开端口。当我尝试打开它时,我的 C# 程序写给我“参数不正确”:
SerialPort port = new SerialPort("COM8", 9600, Parity.None, 8, StopBits.One);
port.Open(); // System.IO.IOException: 'The parameter is incorrect.'
Run Code Online (Sandbox Code Playgroud)
同样的消息给我写了 Realterm 程序,PuTTY 什么也不做,“Tera Term”程序工作正常 - 我可以向我的 MCU 程序发送和接收数据。
有谁知道它是什么?
在我的 C# 程序和终端程序中,我使用相同的参数
USB 设备查看器信息:
[Port1] : STMicroelectronics Virtual COM Port
Is Port User Connectable: yes
Is Port Debug Capable: no
Companion Port Number: 17
Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&2f29167c&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Protocols Supported:
USB 1.1: yes
USB …Run Code Online (Sandbox Code Playgroud)