This example demonstrates how to use EDMA (Enhanced Direct Memory Access) and RTI (Real-Time Interrupt) to implement a periodic SRAM scrubbing mechanism for detecting and mitigating Single-Bit Errors (SBE) in AM263Px/AM263x microcontrollers.
The scrubber reads the first 3 SRAM banks (1.5 MB total) using EDMA transfers triggered by RTI every 50 μs. Each EDMA transfer processes 4 × 64-bit beats (32 bytes). When a SEC (Single Error Correction) event occurs, the example determines whether:
Memory layout and EDMA/RTI configuration are managed through SysConfig.
| Use Case | Description |
|---|---|
| UC-1 | Periodic SRAM scrub completes without errors. |
| UC-2 | SEC error detected during EDMA scrub; error classified as EDMA-corrected or CPU-impacting. |
| Parameter | Value |
|---|---|
| CPU + OS | r5fss0-0 nortos |
| Toolchain | ti-arm-clang |
| Board | am263px-cc |
| Example folder | examples/sdl/ecc/sdl_ecc_edma_sram_scrub/ |
Shown below is a sample output when the application is run:
The application continuously scrubs SRAM in the background. Any detected SEC errors are classified and reported via UART.