Question
STM32H7 1.9.0 MDMA request not initialized
Specifically I've noticed it with the octospi, but it's also impacted at least software requests.
For example, my MDMA config has
hmdma_octospi1_fifo_th.Instance = MDMA_Channel1;
hmdma_octospi1_fifo_th.Init.TransferTriggerMode = MDMA_BUFFER_TRANSFER;
hmdma_octospi1_fifo_th.Init.Priority = MDMA_PRIORITY_VERY_HIGH;
hmdma_octospi1_fifo_th.Init.Endianness = MDMA_LITTLE_ENDIANNESS_PRESERVE;
hmdma_octospi1_fifo_th.Init.SourceInc = MDMA_SRC_INC_BYTE;
hmdma_octospi1_fifo_th.Init.DestinationInc = MDMA_DEST_INC_DISABLE;
hmdma_octospi1_fifo_th.Init.SourceDataSize = MDMA_SRC_DATASIZE_BYTE;
hmdma_octospi1_fifo_th.Init.DestDataSize = MDMA_DEST_DATASIZE_BYTE;
hmdma_octospi1_fifo_th.Init.DataAlignment = MDMA_DATAALIGN_RIGHT;
hmdma_octospi1_fifo_th.Init.BufferTransferLength = 1;
hmdma_octospi1_fifo_th.Init.SourceBurst = MDMA_SOURCE_BURST_SINGLE;
hmdma_octospi1_fifo_th.Init.DestBurst = MDMA_DEST_BURST_SINGLE;
hmdma_octospi1_fifo_th.Init.SourceBlockAddressOffset = 0;
hmdma_octospi1_fifo_th.Init.DestBlockAddressOffset = 0;
if (HAL_MDMA_Init(&hmdma_octospi1_fifo_th) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(ospiHandle,hmdma,hmdma_octospi1_fifo_th);But what it's missing is the Init.Request. So I had to add
/* USER CODE BEGIN OCTOSPI1_MspInit 0 */
hmdma_octospi1_fifo_th.Init.Request = MDMA_REQUEST_OCTOSPI1_FIFO_TH;
/* USER CODE END OCTOSPI1_MspInit 0 */and that fixed everything. a similar thing was needed for the software request, however there are no USER CODE sections in the init function.
Code was generated with the STM32CubeIDE, version 1.7.0.
