Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


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 -specs -u _1st printf OK 2nd printf produces incorrect output

Project attached

Do you use RTOS? I have had the same effect. -u _printf_float seems only to work without RTOS.
The effect seems to be a faulty malloc heap overflow check in syscall.c
printf(“%f”) uses malloc. With RTOS, malloc does not return any memory and printf continues with a null pointer.
See this topic https://www.openstm32.org/forumthread353Question