Loading...
 
Skip to main content

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