Hello,
regarding the example for CPP(/MT3620_M4_Sample_Code/FreeRTOS/MT3620_RTApp_FreeRTOS_CPP)
I changed the main.cpp as below to use the operator new().
`static void blink_task(void pParameters)
{
// DigitalOut led(gpio_led_green);
DigitalOut led = new DigitalOut(gpio_led_green);
[build] FAILED: FreeRTOS_RTcore_CPP.out [build] cmd.exe /C "cd . && C:\PROGRA~2\ARMGNU~1\12DBAB~1.2RE\bin\AR10B2~1.EXE -std=gnu++14 -fno-common -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wall -g -nostartfiles -Wl,--no-undefined -Wl,-n -T "C:/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/FreeRTOS/MT3620_RTApp_FreeRTOS_CPP/linker.ld" -specs=nano.specs -specs=nosys.specs CMakeFiles/FreeRTOS_RTcore_CPP.dir/main.cpp.obj CMakeFiles/FreeRTOS_RTcore_CPP.dir/C_/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/OS_HAL/src/os_hal_gpio.c.obj CMakeFiles/FreeRTOS_RTcore_CPP.dir/C_/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/OS_HAL/src/os_hal_uart.c.obj CMakeFiles/FreeRTOS_RTcore_CPP.dir/C_/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/OS_HAL/src/os_hal_dma.c.obj -o FreeRTOS_RTcore_CPP.out lib/MT3620_M4_Driver/libMT3620_M4_Driver.a lib/MT3620_M4_Driver/lib/MT3620_M4_BSP/libMT3620_M4_BSP.a lib/MT3620_M4_Driver/MT3620_M4_BSP/FreeRTOS/libMT3620_M4_FreeRTOS.a && cd ." [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/thumb/v7e-m+fp/hard\libg_nano.a(libc_a-signalr.o): in function_getpid_r':
[build] signalr.c:(.text._getpid_r+0x0): warning: _getpid is not implemented and will always fail
[build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/thumb/v7e-m+fp/hard\libg_nano.a(libc_a-signalr.o): in function _kill_r': [build] signalr.c:(.text._kill_r+0xe): warning: _kill is not implemented and will always fail [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: warning: FreeRTOS_RTcore_CPP.out has a LOAD segment with RWX permissions [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/thumb/v7e-m+fp/hard\libstdc++_nano.a(eh_globals.o): in function_GLOBALsubIcxa_get_globals_fast':
[build] eh_globals.cc:(.text.startup._GLOBALsubIcxa_get_globals_fast+0xc): undefined reference to __dso_handle' [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: FreeRTOS_RTcore_CPP.out: hidden symbol__dso_handle' isn't defined
[build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: final link failed: bad value
[build] collect2.exe: error: ld returned 1 exit status
[build] ninja: build stopped: subcommand failed.`
Hello, regarding the example for CPP(/MT3620_M4_Sample_Code/FreeRTOS/MT3620_RTApp_FreeRTOS_CPP) I changed the main.cpp as below to use the operator new().
`static void blink_task(void pParameters) { // DigitalOut led(gpio_led_green); DigitalOut led = new DigitalOut(gpio_led_green);
}`
but, there is an error as below.
[build] FAILED: FreeRTOS_RTcore_CPP.out [build] cmd.exe /C "cd . && C:\PROGRA~2\ARMGNU~1\12DBAB~1.2RE\bin\AR10B2~1.EXE -std=gnu++14 -fno-common -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wall -g -nostartfiles -Wl,--no-undefined -Wl,-n -T "C:/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/FreeRTOS/MT3620_RTApp_FreeRTOS_CPP/linker.ld" -specs=nano.specs -specs=nosys.specs CMakeFiles/FreeRTOS_RTcore_CPP.dir/main.cpp.obj CMakeFiles/FreeRTOS_RTcore_CPP.dir/C_/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/OS_HAL/src/os_hal_gpio.c.obj CMakeFiles/FreeRTOS_RTcore_CPP.dir/C_/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/OS_HAL/src/os_hal_uart.c.obj CMakeFiles/FreeRTOS_RTcore_CPP.dir/C_/lab1/mt3620_m4_work/MT3620_M4_Sample_Code/OS_HAL/src/os_hal_dma.c.obj -o FreeRTOS_RTcore_CPP.out lib/MT3620_M4_Driver/libMT3620_M4_Driver.a lib/MT3620_M4_Driver/lib/MT3620_M4_BSP/libMT3620_M4_BSP.a lib/MT3620_M4_Driver/MT3620_M4_BSP/FreeRTOS/libMT3620_M4_FreeRTOS.a && cd ." [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/thumb/v7e-m+fp/hard\libg_nano.a(libc_a-signalr.o): in function
_getpid_r': [build] signalr.c:(.text._getpid_r+0x0): warning: _getpid is not implemented and will always fail [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/thumb/v7e-m+fp/hard\libg_nano.a(libc_a-signalr.o): in function_kill_r': [build] signalr.c:(.text._kill_r+0xe): warning: _kill is not implemented and will always fail [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: warning: FreeRTOS_RTcore_CPP.out has a LOAD segment with RWX permissions [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/thumb/v7e-m+fp/hard\libstdc++_nano.a(eh_globals.o): in function
_GLOBALsubIcxa_get_globals_fast': [build] eh_globals.cc:(.text.startup._GLOBALsubIcxa_get_globals_fast+0xc): undefined reference to__dso_handle' [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: FreeRTOS_RTcore_CPP.out: hidden symbol
__dso_handle' isn't defined [build] c:/progra~2/armgnu~1/12dbab~1.2re/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: final link failed: bad value [build] collect2.exe: error: ld returned 1 exit status [build] ninja: build stopped: subcommand failed.`How can I fix this build error?
Thanks.