I’m trying to use PlatformIO with a STM32F723ZG and FreeRTOS.
When compiling port.c I get these errors:
/tmp/ccN7NtDU.s:330: Error: selected processor does not support vstmdbeq r0!,{s16-s31}' in Thumb mode /tmp/ccN7NtDU.s:332: Error: instruction not allowed in IT block -- stmdb r0!,{r4-r11,r14}’
/tmp/ccN7NtDU.s:352: Error: selected processor does not support vldmiaeq r0!,{s16-s31}' in Thumb mode /tmp/ccN7NtDU.s:354: Error: instruction not allowed in IT block -- msr psp,r0’
*** [.pio/build/env_nucleo_h723zg/src/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o] Error 1
It seems that the MCU is not properly defined…
However I’m using -DSTM32H723xx in the build_flags of PlatformIO.ini.
Any help?
thanks
=======================
This my PlatformIO.ini file.
Then probably you are not passing flags to enable FPU. As mentioned in this post, you probably need to pass these flags - -mfpu=fpv4-sp-d16", "-mfloat-abi=hard.
Looks like you are trying to build floating point instructions but telling the compiler there is no floating point unit. Check your GCC command line matches the part you are targetting.
thanks.
But still I have this:
/home/wsone/.platformio/packages/toolchain-gccarmnoneeabi/bin/…/lib/gcc/arm-none-eabi/7.2.1/…/…/…/…/arm-none-eabi/bin/ld: error: .pio/build/env_nucleo_h723zg/FrameworkHALDriver/Src/stm32h7xx_hal.o uses VFP register arguments, .pio/build/env_nucleo_h723zg/firmware.elf does not
Are the “VFP register arguments” still related with the Floating Point?
I’m trying to get rid of FrameworkHALDriver and use the HAL drivers provided by STM32CudeIDE but so far no success…