Skip to main content
Associate II
July 4, 2025
Solved

FDCAN Tx Buffer allocation

  • July 4, 2025
  • 1 reply
  • 468 views

Hello,

I am trying to understand the memory allocation for the FDCAN, I am using a nucleo H723ZG.

With the latest CubeIDE 1.18.1 I seem to be able to configure 32 TX Buffers and 32 TX FIFOs:

MD_0-1751616475999.png

However the message RAM mapping in AN5348 - Rev 5 shows that there are only a maximum on 32 for both Buffers and FIFOs:

MD_1-1751616622574.png

Is there a mistake in the MX interface that should not allow more that 32 of Buffers + FIFOs combined, or the memory mapping has 2 sections of up to 32 elements for both buffers and FIFOs?

 

Thanks,

Marco

Best answer by mƎALLEm

Hello,


@mƎALLEm wrote:

Internal ticket number: 213460 (not accessible by the community users)


Issue has been fixed on CubeMx V6.16

1 reply

mƎALLEm
Technical Moderator
July 4, 2025

Hello,

32 of Buffers + FIFOs combined.

Even HAL implements this assert in HAL_FDCAN_Init() that doesn't allow to have more then 32 of TxBuffersNbr+TxFifoQueueElmtsNbr:

assert_param(IS_FDCAN_MAX_VALUE((hfdcan->Init.TxBuffersNbr + hfdcan->Init.TxFifoQueueElmtsNbr), 32U));

I'm escalating the behavior to the CubeMx team.

Internal ticket number: 213460 (not accessible by the community users)

 

"To give better visibility on the answered topics, please click on ""Accept as Solution"" on the reply which solved your issue or answered your question."
mƎALLEm
mƎALLEmBest answer
Technical Moderator
November 20, 2025

Hello,


@mƎALLEm wrote:

Internal ticket number: 213460 (not accessible by the community users)


Issue has been fixed on CubeMx V6.16

"To give better visibility on the answered topics, please click on ""Accept as Solution"" on the reply which solved your issue or answered your question."
cberg.1
Associate II
November 30, 2025

I've just updated CubeMx and have the opposite problem with CubeMx V6.16:

In my project, I had TxBuffersNbr = 1 and TxFifoQueueElmtsNbr = 1
This is not allowed anymore, with a message saying the sum of TxBuffersNbr and TxFifoQueueElmtsNbr must be equal (not lower than) 32