Problem Description:
MCU Model: STM32H723VGT6
DMA Configuration:
- DMA1/DMA2 handles 15 DMA channels in total:
- 5 UARTs (TX + RX)
- 4 additional UART RX channels
- 1 PWM channel (TIM15 CCR1 via DMA)
Observed Failure:
After 10–60 minutes of normal operation, all peripherals using DMA2 stop functioning:
- UARTs: RX overrun errors occur (ORE flag set in ISR).
- PWM (TIM15 CCR1):
- DMA circular mode remains active (Half/Complete Transfer interrupts trigger normally).
- SxNDTR counts correctly, but CCR1 register data never updates (verified via debugger).
- No DMA Error Flags:
- TEIF (Transfer Error), FEIF (FIFO Error), and other error flags in DMA_LISR/HISR remain cleared.
Key Observations:
- Failure suggests DMA2 loses access to data bus without triggering error detection mechanisms.
- Issue persists across multiple boards, ruling out hardware defects.
Troubleshooting Performed:
- DMA buffer addresses confirmed in AXI SRAM (0x24000000) with MPU full-access permissions.
- Interrupt flags (TCIF, HTIF) cleared properly in ISRs.
Request:
Has anyone encountered similar DMA2 silent failures? Any insights into:
- Potential AXI bus arbitration conflicts?
- Hidden errata related to DMA2 bus access?
- Debugging techniques to capture transient bus faults?
Thanks in advance for your expertise!