Embedded Systems — question 8 of 10
Write a real answer. It is graded against the question's rubric, and the mastery movement is computed by the same engine the product uses. Scoring here is deterministic rather than model-written, so this page costs nothing to run and nothing is saved. In a track built from your own posting, the same rubric is graded by the model, which is what produces feedback about your reasoning rather than about coverage.
You're using DMA to fill a 512-byte SRAM buffer from an ADC on an MCU that has a data cache enabled. After the DMA transfer-complete interrupt fires, your processing code reads the buffer and sometimes gets stale, old sample values even though you can confirm on a debugger that the DMA definitely wrote fresh data to that memory address. What's the likely cause, and what are two different ways you could fix it?