cancel
Showing results for 
Search instead for 
Did you mean: 

DCMI Data Reception Using GPDMA in Circular Mode on STM32U5G9ZJT6Q

saikumar
Associate III

I am working on a project using the STM32U5G9ZJT6Q MCU, where I am trying to receive data from an 8-bit DCMI interface using GPDMA in circular mode or normal mode. The data is being captured from an 8-bit parallel bus, and I am using GPDMA to transfer this data into memory. However, I am facing issues with the DMA interrupt not triggering and the data not being received properly.

I have configured the DMA in circular mode and linked it to the DCMI, but it seems that the DMA transfer is not functioning as expected. I’ve tried various configurations, but I am still unable to get it working.

If anyone has worked on a similar setup using the STM32U5G9ZJT6Q and has successfully received data from DCMI using GPDMA in circular mode or normal, I would greatly appreciate it if you could share your code or any insights on how to properly configure and troubleshoot this.

1 ACCEPTED SOLUTION

Accepted Solutions
KDJEM.1
ST Employee

Hello @saikumar,

Could you check that the GPDMA channel 12 global interrupt is enabled?

Could you share your project?

Maybe the "DCMI_ContinousCap_EmbeddedSynchMode" example using GPDMA LINKEDLIST in STM32CubeU5 under  path STM32Cube_FW_U5_V1.7.0\Projects\STM32U575I-EV\Examples\DCMI\DCMI_ContinousCap_EmbeddedSynchMode can help you.

 

Thank you.

Kaouthar

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.

View solution in original post

3 REPLIES 3
KDJEM.1
ST Employee

Hello @saikumar,

Could you check that the GPDMA channel 12 global interrupt is enabled?

Could you share your project?

Maybe the "DCMI_ContinousCap_EmbeddedSynchMode" example using GPDMA LINKEDLIST in STM32CubeU5 under  path STM32Cube_FW_U5_V1.7.0\Projects\STM32U575I-EV\Examples\DCMI\DCMI_ContinousCap_EmbeddedSynchMode can help you.

 

Thank you.

Kaouthar

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.

Thank you for your response!

I prefer not to use linked lists for DMA, so I wanted to ask if it’s possible to use circular mode with standard request mode for DCMI with GPDMA. If circular mode is not supported without linked lists, could you suggest an alternative approach using normal mode to achieve continuous data acquisition?

To give more context, in my project, I'm using 8-bit external synchronous mode for DCMI with GPDMA1, and then sending the captured data over UVC.

My PIXCLK is 33 MHz, and I've verified that the data pins are receiving data. However, the buffer I've assigned to DCMI does not seem to receive any data.

Another issue is that the DCMI IRQ handler is being called regularly, but the DMA IRQ handler is not being called at all. I'm unsure what's causing this. In a previous project using STM32H7 with DCMI and DMA, this configuration worked perfectly. However, the same setup with GPDMA on the current MCU is not working.

Could you suggest possible reasons why GPDMA might not be functioning as expected? If you've worked on similar configurations or have any example code, that would be a huge help.

Thanks again for your time and assistance!

KDJEM.1
ST Employee

Hello @saikumar,

 

Could you check your NVIC priority? Try to increase the DMA interrupt priority and start with a sample project without THREADX, USBX..... 

What is the address of the Rx_B buffer?

 

Thank you.

Kaouthar

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.