2024-12-09 03:27 AM - last edited on 2024-12-10 01:33 AM by Andrew Neil
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.
Solved! Go to Solution.
2024-12-09 04:41 AM - edited 2024-12-09 04:42 AM
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.
2024-12-09 04:41 AM - edited 2024-12-09 04:42 AM
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.
2024-12-09 08:36 PM
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!
2024-12-11 03:04 AM
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.