cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 CubeMX DCMI code generation bugs

Florian Moser
Senior

Hi,

I've found three bugs in CubeMX for the DCMI code generation.

uC: STM32H7A3IITxQ

CubeMX Version: 6.5.0

Firmware Package: STM32Cube FW_H7 V1.10.0

The IOC-file is attached.

1.Following lines are getting generated in HAL_DCMI_MspDeInit:

HAL_DMA_DeInit(dcmiHandle->DMA_Handle);
HAL_DMA_DeInit(dcmiHandle->hdmarx);
HAL_DMA_DeInit(dcmiHandle->hdmatx);

=> The dcmiHandle has no members named "hdmarx" and "hdmatx". (Compile Error)

2.Following lines are getting generated in HAL_DCMI_MspInit:

__HAL_LINKDMA(dcmiHandle,DMA_Handle,hdma_dcmi_pssi);
__HAL_LINKDMA(dcmiHandle,hdmarx,hdma_dcmi_pssi);
__HAL_LINKDMA(dcmiHandle,hdmatx,hdma_dcmi_pssi);

=> Same thing here, "hdmarx" and "hdmatx" are no members of the dcmiHandle. (Compile Error)

3.In the main function, following lines are getting generated:

MX_GPIO_Init();
MX_FMC_Init();
MX_DCMI_Init();
MX_DMA2D_Init();
MX_LTDC_Init();
MX_TIM2_Init();
MX_I2S1_Init();
MX_I2C1_Init();
MX_I2C2_Init();
MX_SPI2_Init();
MX_CRC_Init();
MX_DMA_Init();
MX_JPEG_Init();
MX_TIM7_Init();
MX_TouchGFX_Init();

=> MX_DMA_Init() has to be called before MX_DCMI_Init(), else the DCMI-Peripheral isn't working.

Two years ago, someone reported the same problem: https://community.st.com/s/question/0D50X0000BvhrT2SQI/why-do-i-get-overrun-error-when-using-dcmi?t=1648534322363

Hope this get's fixed soon, as I have to change these lines everytime i regenerate the code with CubeMX.

1 REPLY 1
Amel NASRI
ST Employee

Hi @Florian Moser ,

Could you please check using latest STM32CubeMX version (6.9.0)? Is the same issue still faced?

-Amel

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.