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

STM32 doesn't built it's own projects



There is a warning on the firmware page saying that, if you select additional firmwares, you may have to adapt their configuration and that’s exactly what you got. This is especially true when using several third party firmware components; there is too much possibilities for a program to automatically guess which configuration will work for you (for example LWIP can work on Ethernet, but also on serial lines, with or without an RTOS, support UDP and/or TCP, work with fixed IP addresses or using RARP, Bootp, or DHCP, ...). For audio you may have to choose the source and destination devices, resolution, frequency... and the like for graphics.

What will compile without a problem is using just the ST base drivers; as soon as you add more, you may have to adapt configuration files and, in some cases, include/exclude some files/directories from build. The problem comes from the fact some firmwares must be configured differently if they have to work with other firmwares. For example the LWIP source code contains code to work with and without FreeRTOS. By default all code is included, which obviously cause problems.

When you want to use several additional firmwares, you may try using CubeMX, which is just trying to do that (similar to what Processor Expert does for NXP Kinetis chips): configure them and initialize the hardware accordingly, letting you choose which pins to use for the various devices you want to use, etc. CubeMX will then generate a project that should compile.

Hope this helps, at least clarifying things.

Bernard (Ac6)