2020-11-30 02:46 AM
I use STM32H753IITx and there is space in RAM_D1 to use length 2*65536.
I call like this:
if (HAL_ADCEx_MultiModeStart_DMA(&hadc1, guiaAdc12Data, (uint32_t)(ADC12_MAX_COUNT * 2)) != HAL_OK)
{
Error_Handler();
}
2020-11-30 03:13 AM
I don't know the H7, but all other STM32 models could address a maximum of 64kByte per DMA.
This is a limit of the DMA peripheral unit.
I would expect a configuration function to catch this...
2020-11-30 04:59 AM
The maximum transfers per DMA call is 65535. Your last parameter to HAL_ADCEx_MultiModeStart_DMA can't be higher than this or it won't work.
You can access more than 64kB if the transfer size is more than a byte, but you are limited to that many transfers.