Based on the Linux Flexcan driver, I try to use more message buffers for transmitting and receiving some frames with specific ID's. This seems to be OK as long as I don't try to use message buffers 16 and further. If I configure for instance MB to MB for receiving a range of ID's, this works just fine. If I copy the same configuration to MB - MB, no frame is rcved (the iflag1 bit of these MB's never gets set). Also, if I just change the FLEXCAN_TX_BUF_ID of the standard Flexcan driver from 8 to 16, transmitting frames no longer succeeds.
I did find a paragraph in the user manual about the "Arbitration and Matching Timing", regarding the number of message buffers that can be used depending on the ratio between Peripheral Clock Frequency and CAN Bit Rate. But this should not be the problem in the configuration I use here:
oscillator frequency = 24 MHz
Prescaler = 3 => Bitclock = 8 MHz
Bitrate = 500 Kbit => 1 bit = 16 Tq
So it should be possible to use all 64 Message buffers, I would think. Does anyone know what I am missing here? Did anyone succeed in using these higher message buffers on this processor?