Part Number: AM6546
Other Parts Discussed in Thread: SYSCONFIG
We are developing an application that involves PRU-0, RTU-0, R5F-0 and A53 cores.
The R5F-0 awaits events from the RTU-0 via hardware interrupts for mailbox.
/* Hwi creation */
Error_init(&eb);
Hwi_Params_init(&hwiParams);
hwiParams.maskSetting = Hwi_MaskingOption_LOWER;
hwiParams.arg = interruptNum;
Hwi_construct(&hwiStruct, interruptNum, mailbox_isr, &hwiParams, &eb);
/* Event creation */
Event_Params_init(&eventParams);
Event_construct(&eventStruct, &eventParams);
hEvent = Event_handle(&eventStruct);
// Mailbox Initialization
HW_WR_REG32(CSL_NAVSS0_MAILBOX_REGS3_BASE+CSL_MAILBOX_SYSCONFIG, 1); // soft reset
while (1 == HW_RD_REG32(CSL_NAVSS0_MAILBOX_REGS3_BASE+CSL_MAILBOX_SYSCONFIG)) {}; // wait for reset to clear
/* Enable interrupt for Mailbox 3 User 0 */
HW_WR_REG32(CSL_NAVSS0_MAILBOX_REGS3_BASE+CSL_MAILBOX_USER_IRQ_ENABLE_SET(0), 1);
However, I also need to establish communication between R5F-0 and the A53. This has been done using the MessageQueue framework. An application was written in R5F and A53 to communicated via 2 queues ( similar to ex02_messageq) and this was found to work perfectly.
However, when the message queue code is incorporated with the HW Interrupt (b/w RTU-0 & R5F-0) code, I found that the A53 application could not find the message queue created by the R5F-0.
Is there something that needs to be done so that both implementations to work together? It looks like some configuration of mailboxes need to be done.
Thanks in advance