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 */
/*-----------------------------------------------------------*/