I have configured first 15 mailboxes for receive. Now my question is does it lock a mailbox automatically when a CAN frame is received into it or is this to be done by code. I see only first couple of mailboxes updated and overwritten with incoming CAN frames. (FIFO for receive is disabled)
Hi,
The MB is only locked upon reading the MB's C/S word with a CPU. It is then unlocked if another MB's C/S word or Free Running Timer register is read by the CPU. Once the MB is updated it is not “free to receive” only, until the CPU services this MB (read the C/S word then unlock the MB). So the behavior you outlined is possible, it depends how MBs are served by the code.
Read the chapter 25.4.5 “Matching Process” of the RM for detailed info how MBs are getting updated when new message is received.
BR, Petr