Part Number: TDA2P-ACD
Query as below:
Our implementation flow- Good case
-
System Power up
-
Core A15 starts and doing some CRC Validation
-
Core A15 waits for Core M40 to request the CRC Validation status
-
Core M40 turned ON lately (Core A15 turned ON early) and send Validation status request to A15
-
M40 waits to receive the response from A15 with a timeout of 500ms
-
A15 received the request and respond back with the validation status to M40
-
M40 received and validation status success
Bad Case
-
System Power up
-
Core A15 starts and doing some CRC Validation
-
Core A15 waits for Core M40 to request the CRC Validation status
-
Core M40 turned ON lately (Core A15 turned ON early) and send Validation status request to A15
-
M40 waits to receive the response from A15 with a timeout of 500ms
-
A15 NEVER received the request and hence not responding back with the validation status to M40
-
M40 timed out and reports failure (defined error code)
In Core A15 multiple task initialization is happening during the system boot. One of the task is Log receiver service. This task is 50 ms periodic . It sends the IPC message to all instance of Remote Log Sender to request to initialize the remote log, providing with address of the remote log buffer in the shared memory. There is no Acknowledge and IPC RX. It's regardless of the status of each instance. This task sending IPC message to the all the cores (EVE1, EVE2, M40, DSP1, DSP2).
Now, We are suspecting if the Bad case (missed IPC message) arises due to IPC resource not present. May be some timing issue or the mailbox ISR implementation missed interrupt if two interrupt comes withing same time.
we can discuss more as this conversation goes on.