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 with a custom, non-global, callback



The simplest way to go is through __io_putchar that you can define, e.g. in the file in which you place the display initialization code, as it is declared as weak in syscalls.c. To print on your display you can write it as
int __io_putchar(char c) {
    return display_write(&board.display[displayA], c); 

For this to work, of course, you must declare the board variable as a global static variable (not in the display initialization function) and move the display_init (and perhaps board_init) call in the display initialization function.

Then any printf/write with go to your display


Bernard (Ac6)