frackers

Bug in HAL_DCMI_Start_DMA when length > 0xffff

Discussion created by frackers on Jan 25, 2018
Latest reply on Mar 16, 2018 by frackers

STM32F407 HAL code (STM32Cube_FW_F4_V1.18.0) initiates double buffering if the length of a DCMI DMA transfer is greater than 0xffff. 

 

It assumes that the second buffer 'SecondMemAddress' is at an address of <first buffer + length of each transfer> which is totally wrong if destination increment is NOT enabled (as is the case of writing directly to an LCD on the FSMC).

 

HAL_DCMI_Start_DMA should check the destination size and whether increment is enabled.

 

Outcomes