# Mailbox stuck between A53 & R50

**URL:** <https://forums.freertos.org/t/mailbox-stuck-between-a53-r50/18493>\
**Category:** Xilinx\
**Tags:** debug\
**Created:** [November 12, 2023, 3:01pm UTC](https://forums.freertos.org/t/mailbox-stuck-between-a53-r50/18493 "2023-11-12T15:01:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Valery](https://avatars.discourse-cdn.com/v4/letter/v/a87d85/32.png) [@Valery](https://forums.freertos.org/u/Valery)\
**Post date:** [November 12, 2023, 3:01pm UTC](https://forums.freertos.org/t/mailbox-stuck-between-a53-r50/18493/1 "2023-11-12T15:01:00Z")

</div>

Brief system description: We use the ZCU106 evaluation kit and the included ZU7EV device is equipped with a quad-core Arm® Cortex®-A53 application processor (the A53 is running in a Linux environment), an ARM Cortex R50 processor is runs in the FreeRTOS environment and an ARM Cortex R51 bare metal processor.

We are having a major problem dealing with 2 mailboxes, A53 R50 and A53 R51:

The system speed is 148.5 MHz  
FIFO size:  
Mailbox\_1 8196  
Mailbox\_0 16  
The threshold for MAILBOX R50 RIT is 4096x32bit = 16Kbytes.

The problem is that after a certain period (variable time) we have an indication that the FIFO on the R50 side is full and R50 cannot write new data - this means that A53 did not read new data from the FIFO buffer in time. Register Mailbox Status Send Status = 11 - FIFO Full.

It should be noted that A53 works at the same time (in parallel) with 2 mailboxes with both R51 and R50 and there are also additional processes in A53.

Any idea why after a certain time it is stuck? Is anyone else experiencing the same issue??

---

<div class="post-metadata">

**Author:** ![cookpate](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/cookpate/32/2962_2.png) [@cookpate](https://forums.freertos.org/u/cookpate)\
**Post date:** [November 13, 2023, 6:52pm UTC](https://forums.freertos.org/t/mailbox-stuck-between-a53-r50/18493/2 "2023-11-13T18:52:20Z")

</div>

This sounds like a problem with the receiver, running Linux.  
Make sure that the receiving processes on the A53 are created as round-robin, real-time priority tasks, each having the same static priority. If there are other high-priority real-time processes on the A53, they may be starving the mailbox tasks.  
The Linux scheduler executes the highest-priority, ready-to-run real-time process. The process runs until either it is blocked by an I/O request, it is preempted by a higher priority process, or it calls sched\_yield(2).  
Round-robin processes also run for a time slice if sharing priority with other round-robin processes.

If the processes are not real-time, then the Linux scheduler may preempt them to run lower-priority processes, resulting in non-determinism.

---

<div class="post-metadata">

**Author:** ![aggarg](https://d3iykfbgfh8zhg.cloudfront.net/user_avatar/forums.freertos.org/aggarg/32/4245_2.png) [@aggarg](https://forums.freertos.org/u/aggarg)\
**Post date:** [November 14, 2023, 9:16am UTC](https://forums.freertos.org/t/mailbox-stuck-between-a53-r50/18493/3 "2023-11-14T09:16:54Z")

</div>

> [@cookpate](#):
>
> Make sure that the receiving processes on the A53 are created as round-robin, real-time priority tasks, each having the same static priority.

You can also try to slow down the sender for confirming.
