cancel
Showing results for 
Search instead for 
Did you mean: 

Problem migrating firmware from STM32F746 to STM32H743

Roberto Fratta
Associate II

Hi everyone,

Some time ago I designed a board with an STM32F746 that captures images from a CMOS sensor (MT9P006) and transfers them via DCMI-DMA to an SDRAM (AS4C8M16SA), it works perfectly.

Currently due to the lack of availability of the STM32F746 i used a STM32H743 which is pin to pin compatible and has almost the same peripherals.

Using the STM32CubeMX I configured the STM32H743 in such a way that all internal/external peripherals works as STM32F746.

Debugging the STM32H743 program i find that CPU is unable to acquire a complete image, the acquisition stops with DCMI_FLAG_OVRRI flag set, after some transfer from DCMI to SDRAM.

I can't understand why this is happening, the only way to make the transfer work is to decrease the pixel acquisition frequency (DCMI_PIXCLK) from 56MHz to 33MHz, 

 this seems strange to me because CPU is not overloaded, since the only active peripherals besides DCMI, FMC and DMA are UART and I2C serial which are not active during the acquisition process, 

 also STM32H743 datasheet reports that "The maximum DCMI_PIXCLK period must be higher than 2.5 HCLK periods", I use HCLK = 200MHz -> 5nS -> 5nS * 2.5 = 12.5nS, DCMI_PIXCLK = 56MHz -> 17.8nS so 17.8 is > then 12.5!

 Does anyone know how to help me understand the reason for this limitation? 

 (I am attaching the ioc files used to generate the sources of the 2 CPUs)

 Best regards

2 REPLIES 2

https://community.st.com/s/question/0D53W000007zTjE/stm32h7-dcmi-to-sdram-with-dma-overrun-flag

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Roberto Fratta
Associate II

thanks for the answer, i had already seen that discussion, unfortunately in my case this solution is not applicable because the image I have to acquire is larger than the available memory.