Simple Multicore Core to Core Communication with STM32H7
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 12:41 AM
Hello Team,
how can a simple core to core communication on the STM32H7 be implemented? We want to exchange 2kByte of data in bidirectional way between CM7 and CM4.
Best regards,
Jochen
Solved! Go to Solution.
- Labels:
-
STM32H7 Series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-09 2:16 AM
Or just create a shared memory region common to the two cores on each Core's linker. But you need to ensure at least two things:
- Synchronization of read and write operation between the two cores using HSEM to ensure the consistency of the data.
- Either to manage the data coherency from CM7 side when Cache is enabled or declare that region as Strongly-Ordered or Device (non cacheable) using MPU.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 1:00 AM - edited ‎2024-09-06 1:01 AM
Hello,
Please refer to the AN5617 STM32H745/755 and STM32H747/757 lines inter-processor communications
See also this article.
You can use OpenAMP to exchange data between two cores. Please refer to these examples in STM32CUbeH7 on github:
Hope I answered your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 2:26 AM
This example ist not working, we get compiler errors. Do you have a working example of the OpenAmp PingPong project?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 3:15 AM
@JR1 wrote:
This example ist not working, we get compiler errors. Do you have a working example of the OpenAmp PingPong project?
You need to give more details about that. What compiler you are using and what errors you are facing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 4:46 AM
It seems that the directories are not complete, including the HAL libraries.
Could you try to download the Open AMP PingPong example and build it with the STM32 Cube IDE?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 5:06 AM - edited ‎2024-09-06 6:00 AM
Please tell how did you download the example via github or from this page?
When you clone with git you, need to set the option recursive:
git clone --recursive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 6:22 AM
I have found the project in the FW_H7 directory.
Still I am facing problems with the integration in STM32 Cube IDE, see screenshots.
The projects CM4 and CM7 can be built, but there is no debug configuration available.
 
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 6:33 AM
Sorry. Don't know about the CMake option.
What I asked you is to test the native project provided under C:\Users\<User name>\STM32Cube\Repository\STM32Cube_FW_H7_V1.11.2\Projects\STM32H745I-DISCO\Applications\OpenAMP\OpenAMP_PingPong
and open the CubeIDE project from here:
From my side I didn't have any errors during the compilations of CM4 & CM7 projects.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 8:44 AM
The code is running now on both cores. Is there any better documentation available than the readme.txt?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-09-06 8:57 AM
Please refer to the AN5617 STM32H745/755 and STM32H747/757 lines inter-processor communications
See also this article.
@JR1 ;
Already provided the documentation in my first answer.
