DMA transfer error but CFSR does not indicate bus error
I'm using a STM32H743.
I used STM32CubeMx to configure the DCMI. It uses DMA to transfer to memory.
When calling HAL_DCMI_Start_DMA(), the DCMI_DMAError() function is called.
I found out that there is a transfer error. And according the documentation a bus error is the reason.
But the CFSR register of the MCU is zero, indicating no bus error.
What could be wrong?
Things I did:
- use STM32CubeMX to set up DCMI and enable DMA
- Disabled caching
- created a buffer in SRAM1 using
- __attribute__ ((section(".buffer"), used)) uint32_t bigbuf[30000];
- checked that it is present in region RAM_D2
- called HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_CONTINUOUS, (uint32_t)bigbuf, ((752*480)/4)/4);
- HAL_OK is returned
- sensor is 752*480, I use 8 bit DCMI (thus 4 in a word) and I use half the number of pixels and half the number of lines
- checked with oscilloscope that DCMI is working (clock, sync and data signals present)
Any idea why I can get this transfer error?
