Skip to main content
Graduate
October 10, 2024
Question

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

  • October 10, 2024
  • 1 reply
  • 924 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.

    1 reply

    Graduate
    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.