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


STM32429_

I used cube to generate a default project for the 429i disco board, add CMSIS V2 rtos and USART2 (half-duplex transmit only). I removed week attributes from _write and _io_putchar and implemented a write to uart.

Code

float fVal = 345.678;
printf(“Hello World\r\n”);
printf(“fVal %f\r\n”,fVal);
.
.
.
int __io_putchar(int ch)
{
int retVal;

HAL_StatusTypeDef error = HAL_UART_Transmit(&huart2, (uint8_t*)&ch, 1, 2000);
retVal = (error == HAL_OK)? 1: 0;
return retVal;
}

Output:
Hello World
fVal . !

Issues:
With nosys.specs AND nano.specs printf produces a hard fault.
With nosys.specs simple printf works but float produces incorrect output

The project file is attached