2024-10-28 08:02 AM
While I got some experience with Cortex M devices - including several STM32 families - and Linux as host OS, I'm pretty new to asymmetrical dual-core systems like the STM32MP1 devices.
What sets them apart is the tight integration of both cores, and the ability to run realtime bare-metal applications in close cooperation with Linux as a host OS. Or so I think.
What I got already are the MP135-DK on the way, the OpenLinux Dev package installed and running, and a small user space application built. The CubeMP1 and CubeMP13 packages with the CM4 BSP, HAL, and very few examples.
And of course the MP1 datasheets/reference manuals, which I browsed.I think I have identified some of the important chapter, but I'm not yet through.
So, here my questions.
Since I haven't found any such thing yet, is there a single proper documentation of the API for synchronisation and communication between the CA7 and CM4 core ?
In particular, configuration of CM4 setting, code deployment (as the CM4 seems to execute from RAM only), and message/data transfer ?
Are there any example applications for this inter-operation available ? I haven't found any yet.
And finally, I very much prefer Segger ES as IDE/toolchain for the M4, instead of CubeIDE. And not only because I don't want just another 1+GByte vendor-specific IDE. Anybody using Segger Embedded Studio in this environment ?
Thank you !
Solved! Go to Solution.
2024-11-05 11:48 PM
Hi @Ozone
please note that STM32MP13x does not have Cortex-M4 coprocessor.
You should use STM32MP15x products to get a Cortex-M4 coprocessor (or STM32MP25x which has a Cortex-M33 coprocessor).
For more information on coprocessor usage, wiki provide plenty of details
maybe start with https://wiki.st.com/stm32mpu/wiki/Coprocessor_management_overview
Regards.
2024-11-05 06:03 AM
> Since I haven't found any such thing yet, is there a single proper documentation of the API for synchronisation and communication between the CA7 and CM4 core ?
According to some example projects, this would be openAMP - to answer my own question.
2024-11-05 11:48 PM
Hi @Ozone
please note that STM32MP13x does not have Cortex-M4 coprocessor.
You should use STM32MP15x products to get a Cortex-M4 coprocessor (or STM32MP25x which has a Cortex-M33 coprocessor).
For more information on coprocessor usage, wiki provide plenty of details
maybe start with https://wiki.st.com/stm32mpu/wiki/Coprocessor_management_overview
Regards.
2024-11-06 05:32 AM
> please note that STM32MP13x does not have Cortex-M4 coprocessor.
> You should use STM32MP15x products to get a Cortex-M4 coprocessor (or STM32MP25x which has a Cortex-M33 coprocessor).
You are right, that applies to the MP15x.
And since the discovery kits are relatively affordable, I got a MP135-DK and MP157-DK, thus the question remains valid for me.
I will definitely have a look at the wiki page, thanks.
Although, if I might add that here, the Cube packages for the MP157 CM-4 processor seem to be a mess.
BSP files and CMSIS folders missing in some variants, and a mixture of CubeIDE, SW4STM32 and Eclipse projects.
I will surely have some follow-up questions.