Estoy tratando de generar una señal periódica con el DAC en el STM32G474 usando DMA. Hay toneladas de ejemplos de esto, y he hecho lo mismo en el pasado con un STM32L4 y F4 sin problemas. Sin embargo, no estoy seguro de si hay un problema en la línea STM32G4 o un error en la generación de código de las bibliotecas/HAL. He montado un ejemplo sencillo, sólo con un buffer circular de 2 muestras a una velocidad lenta, pero nunca saco nada, genera al inicio un error de transferencia DMA y desactiva el DMA.
He probado diferentes clavijas y canales. En el STM32G4, los flujos DMA están multiplexados por lo que puedes utilizar cualquiera siempre que no estés utilizando el mismo para otros periféricos. Intenté iniciar el temporizador primero, incluyendo los retrasos, llamando a HAL_DAC_Start() antes de HAL_DAC_Start_DMA() (lo cual es redundante). Poner un valor manualmente al DAC funciona sin problemas. He probado también usando Timer2. Estoy usando STM32CubeIDE 1.3.1 y el código está generado con STM32CubeMX 5.6.1, las últimas versiones.
El main.c está aquí, incluye toda la configuración: https://pastebin.com/F90s3iBz