Skip to main content
Associate III
October 10, 2024
Question

STM32H757 / Inter-core Communication using OpenAMP and HSEM in RTOS

  • October 10, 2024
  • 2 replies
  • 963 views

Hello

 

I'm developing RTOS environment of dual-core in STM32H757.

An error occurred while transfering the data from CM4 to CM7, and I didn't think the EndPoint was fully created, so the value of variable "status" checked, and the value is greated than 0.

Is the variable and creation of EndPoint irrelevant?

<Flow>

1. CM7 & CM4 : EndPoint and OpenAMP initialized (status ≥ 0).

2. CM7 : Function  MAILBOX_Poll() is circling an infinite loop in the function OPENAMP_Check_for_message() within function receive_message().

/ CM4 : Waiting for the flag status.

3. [Send error from CM4 to CM7]

CM7 : The same condition as '2.'

/ CM4 : Function OPENAMP_send is returning RPMSG_ERR_ADDR because dest_addr is equal to RPMSG_ADDR_ANY.

 

Any help is greatly appreciated!

 

# The code in rpmsg.h file.

StrangeTau_0-1728527311846.png

# Terminal results

StrangeTau_1-1728527324639.png

 

Friendly regards, Tau

This topic has been closed for replies.

2 replies

ST Technical Moderator
October 10, 2024
In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Associate III
October 11, 2024

Hello @Imen.D 

Thank you for your prompt response and congrating me.

 

I haven't seen that article, but I've seen examples from the sources below.

I think the example is simmilar to the article from the source below. Is that correct?

 

I understand that CM7 is the master core and CM4 is the slave core in STM32H7, but I would like to use CM4 as the master core in OpenAMP.

In other words, can I apply the CM7 example code to the CM4 files and the CM4 example code to the CM7 files?

At first, I would like to send the data from CM4 to CM7. After this operation, Ultimately, I want to implement two-way communication.