14.6.4.6 Calculation of Start Address

Since the payload size of the FIFOs can be configured individually, the start address of an individual object depends on the configuration of all previous objects. The application can read back the start addresses of each message object to double-check whether they were correctly configured.

The TEF starts at the beginning of the message memory.

Equation 14-21. Start Address of TEF
A T E F = Base Address = C x F I F O B A

The TXQ starts after the Transmit Event FIFO.

Equation 14-22. Start Address of TXQ
A T X Q = C x F I F O B A + S T E F

The message FIFO object starts after the Transmit Queue.

Equation 14-23. Start Address of Message FIFO
A F I F O 1 = C x F I F O B A + S T E F + S T X Q

If CxCON.STEF = 0, then TEF does not exist in RAM and Stef is zero. In this case, if TXQ is available, the TXQ starts at the base address defined by CxFIFOBA.

If CxCON.TXQEN = 0, then TXQ does not exist in RAM and Stxq is zero.

The start of the nth FIFO can be calculated as follows:

Equation 14-24. Start Address of Nth FIFO
A FIFO n = A F I F O 1 + i = 1 n 1   S F I F O i