STM32H725VGT6 UART DMA Receive not working
Hello,
As mentioned in DMA is not working on STM32H7 devices
I applied solution before DMA receive
SCB_InvalidateDCache_by_Addr((uint32_t*)(((uint32_t)rx_buffer) & ~(uint32_t)0x1F), RX_LENGTH+32);
but it just get stuck in this instruction and not executing anything after this instruction
below is my code for reference
uint32_t Recbuf[10] __attribute__ ((aligned (32)));
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* Enable I-Cache---------------------------------------------------------*/
SCB_EnableICache();
/* Enable D-Cache---------------------------------------------------------*/
SCB_EnableDCache();
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_DFSDM1_Init();
MX_USART3_UART_Init();
MX_UART5_Init();
MX_CRC_Init();
MX_UART4_Init();
MX_UART7_Init();
MX_X_CUBE_AI_Init();
/* USER CODE BEGIN 2 */
void v_Set_to_Receive_From_UARTP(void){
SCB_InvalidateDCache_by_Addr((uint32_t*)(((uint32_t)Recbuf) & ~(uint32_t)0x1F), sizeof(Recbuf));
HAL_UART_Receive_DMA(&huart3, (uint8_t *)&Recbuf,10);
}
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}