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 - Project creation

Question about creating projects with System Workbench for STM32



Question: Why System Workbench proposes to load firmware in a library project?

When the firmware is placed in a library project, it is compiled independently of your application, then linked with your application. This setup informs the linker of what code is really required (your application) and what code should only be included when used by some “required” code. This selection can then be done on a function by function level on the external static library.

On the opposite, if you include the code from the firmware into your application project, then all the code from the firmware will be included in the final object code, as the linked does not know how to choose what is really needed.

Note that if you develop middleware code, you should also deploy it as a static library, so that only the relevant part of your code (at function granularity) is included in your final system.

Question: Why is there an error "Program "arm-none-eabi-gcc" not found in PATH" while my project can be built ?

When creating your project, you probably selected to import the low-level drivers as static library. This error does not really exists and should not affect the usage. This is a known bug, we are working on it not to display the error message.

If you find it inconvenient, you can remove this message. Go to the “Problems” view (Windows > Show views > Problems) then select the errors and delete them. Unlike real problems, these errors won’t appear again. The error could also disappear when System Workbench is restarted.

Question: How can I import a project created by STM32CubeMX (Micro Explorer)

Basically there is currently three possibilities:

  1. Importing the CubeMX-generated project in an existing workspace without copying it; the code will then remain in the generation directory, out of your workspace
  2. Direct CubeMX to generate code in your workspace, then import the project from there
  3. Select the base directory where CubeMX generated the source code as your workspace when starting Ac6 System Workbench for STM32, then import the project; your workspace will then include only this project

In all cases CubeMX may be used to re-generate code and will keep your modifications if they are placed between the code generation “User Code begin/end” comments.

It is usually advisable to use one of the first two possibilities, as the third one will impair the ability to place the generated code under source-code-management systems like GIT or SVN.

Detailed instructions are provided in the Ac6 System Workbench for STM32 documentation at Importing a STCubeMX generated project

Question: I got plenty of "could not be resolved" errors in a newly created/imported project
Answer  These errors are sometimes reported by eclipse when it access some source file before its index was fully built. To solve this you should rebuild the index by right-clicking on the project (or any file in the project) in th eProject Explorer then selecting “Index >> Rebuild”. Then, if they do not disapear automatically after a while, you may delete the errors (in the Problems view) and they should no more appear.