STM32429I_Discovery board with printf float support problem
Used cube to generate a project with default settings for STM32F429I disco board plus CMSIS V2 rtos and USART 2 half duplex transmit only .
Code
float fVal = 345.678;
printf(“Hello World\r\n”);
printf(“fVal %f\r\n”,fVal);
Output
Hello World
fVal . !
Issues
With -specs = nosys.specs -specs= nano.specs -u _printf_float - printf causes a hard fault.
With specs = nosys.specs -u _printf_float - 1st printf OK 2nd printf produces incorrect output
Compile Options
-mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Dweak=attributeweak -Dpacked=attributepacked -DUSE_HAL_DRIVER -DSTM32F429xx -I../Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0
Linker Options
-mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -u _printf_float -T”../STM32F429ZITx_FLASH.ld” -Wl,-Map=output.map -Wl,--gc-sections -lm