cancel
Showing results for 
Search instead for 
Did you mean: 

How we can communicate between two cores

MDeva.1
Associate II

Hello,

I am working on Nucleoh745ziq .Its have two cores cortex-m7 and cortex-M4, how making the communication between two cores. They give the example code for that but they doesnot give the proper information, which parameter we can configure in cubemx, I cant undersatnd that example I try to create project but which parameter i have to configure .I am trying to create project for FreeRtos message buffer,can you some help me in these,how i can create this project which things i have intialise.

5 REPLIES 5

Typically you have large areas of dual-ported memory visible to both cores, and HSEM provides a Hardware Semaphore method of signalling/interrupting between the cores.

How to do multi-core/multi-thread programming and the concepts are perhaps beyond the scope of the forum. I'd suggest reviewing some college level texts on the subject area, and then look at how you can apply that to your use case/application, and with FreeRTOS running independently on both cores.

Having multiple things actually happening at once can be a challenge for some coders used to more linear flow, and there can be some complex interactions which will be next to impossible to debug with single-step / breakpoint methods in real-time/interdependent systems.

I don't believe FreeRTOS provides a method to dispatch tasks on different cores, but there may be OS that do. The Flash code space is also shared.

Watch for cache coherency and non-atomic memory access.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
TDK
Guru

Not everything can be clicked in CubeMX. This is probably one of those things that will require to to write code in user sections to do what you want.

If you feel a post has answered your question, please click "Accept as Solution".
Piranha
Chief II

In addition to what others said, communication can also be done by lock-free FIFO ring buffers:

https://github.com/MaJerle/stm32h7-dual-core-inter-cpu-async-communication

When I enable the free RTOS there are multiple things, If I have to use FreeRtos Message buffer so I can communicate with two cores so ,what parameter i need to configure in cubemx. Can you help me in this?

But i have to use the FreeRtos message buffer.So i need to check which paramter i have to make the configuration in cubemx.