2025-08-07 7:57 AM - last edited on 2025-08-07 8:13 AM by Andrew Neil
Hi everyone,
I am working on a project with the STM32H755ZI-Q (Nucleo H755ZI-Q) board, and I am following this tutorial for Inter-Processor Communication (IPC) using OpenAMP: Link to tutorial.
The setup involves two processors (M4 and M7). Here's the LED behavior that I have implemented:
LED1 (PB0) is assigned to M4.
LED2 (PE1) and LED3 (PB14) are assigned to M7.
When M7 sends a message to M4, M4 replies, and LED1 turns ON.
If M7 receives the expected message, LED2 turns ON; otherwise, LED3 should turn ON.
Everything seems to work fine when LED2 is assigned to M7 (PB14), as it turns ON as expected. However, when I swap the assignments and move LED2 to LED3 (PB14), LED3 doesn’t turn on, despite the message being received and processed correctly.
I have tried putting LED3 in a while loop in the main function and toggling it manually with:
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
but still, LED3 (PB14) does not turn ON.
Has anyone encountered a similar issue or can suggest where the problem might lie?
Any help would be greatly appreciated!
Thanks in advance!
Solved! Go to Solution.
2025-08-11 9:47 AM
2025-08-13 8:43 AM
Hi @Mike_ST ,
I noticed that in your code, you’ve commented out some sections related to OpenAMP, and surprisingly, everything is working as expected. I’m wondering if something in those functions was preventing me from accessing LED3 with my original code. Could you explain why you decided to comment out that code?
2025-08-13 8:50 AM
Hello,
if you're talking about the following line:
// MAILBOX_Init();
I noticed it was already called in
MX_OPENAMP_Init(RPMSG_MASTER, new_service_cb)
So I thouhgt there was no need to call it twice.