Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


Redirecting printf() does not work

Hi,

I am new to STM32. After playing with the code generation from STM32cubeMX for SW4STM32, I am facing the same problem with printf. I am using a STM32F0 discovery board and the function HAL_UART_Transmit works perfectly. I added the following code to the main project and included the stdio.h header in order to use the printf function:

#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */

PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;
}


Without success. However, when I call the function io_putchar directly, my terminal receives the string just fine.
I generated the same code to use in keil and it surprises me that the printf function works there without problems.

So I think there are some compiler options that I need to configure within SW4STM32. It would be very helpful if somebody can help me finding the solution.

Thanks in advance,

Hendrik