STM32H Dual Core AMP Demo

Thank you for detailed explanation. I understand you issue.

Assuming you are building both the instances of FreeRTOS with configUSE_SB_COMPLETED_CALLBACK set to 1, this line will try to invoke the callback in CM7. Is it possible for you to verify that?

I do not think there is a straight forward way as of now. Can you try to add the following functions and then set the receive completed callback after creation from CM4?

#if ( configUSE_SB_COMPLETED_CALLBACK == 1 )

void vStreamBufferSetReceiveCompletedCallback( StreamBufferHandle_t xStreamBuffer,
                                               StreamBufferCallbackFunction_t pxReceiveCompletedCallback )
{
    xStreamBuffer->pxReceiveCompletedCallback = pxReceiveCompletedCallback;
}

#endif /* configUSE_SB_COMPLETED_CALLBACK */
/*-----------------------------------------------------------*/

#if ( configUSE_SB_COMPLETED_CALLBACK == 1 )

void vStreamBufferSetSendCompletedCallback( StreamBufferHandle_t xStreamBuffer,
                                            StreamBufferCallbackFunction_t pxSendCompletedCallback )
{
    xStreamBuffer->pxSendCompletedCallback = pxSendCompletedCallback;
}

#endif /* configUSE_SB_COMPLETED_CALLBACK */
/*-----------------------------------------------------------*/