11.2.3.1 Received Message Processing

After a new message is received, the receive message handler searches all receive buffers, starting from the receive message0 until it finds a valid buffer. A valid buffer is indicated by:

  • Receive buffer is enabled (indicated by RxBufferEbl = 1)
  • Acceptance filter of receive buffer matches incoming message

If the receive message handler finds a valid buffer that is empty, then the message is stored and the MsgAv flag of this buffer is set to 1. If the RxIntEbl flag is set, then the rx_msg flag of the interrupt controller is asserted.

If the receive buffer already contains a message indicated by MsgAv = 1 and the link flag is not set, then the rx_msg_loss interrupt flag is asserted. See 11.2.3.3 Receive Buffer Linking.

If an incoming message has its RTR flag set and the RTR reply flag of the matching buffer is set, then the message is not stored but an RTR auto-reply request is issued. For more information, see 11.2.3.2.1 RTR Auto-Reply and the RX_MSG0_CTRL_CMD register.