La sección 13.4 del Manual de referencia de STM32 (para mi placa STM32F303RE) dice:
El controlador DMA realiza una transferencia de memoria directa al compartir el bus del sistema con el Cortex-M4® F core. La solicitud DMA puede detener el acceso de la CPU al bus del sistema para algunos ciclos de bus, cuando la CPU y DMA se dirigen al mismo destino (memoria o periférico).
Mi pregunta es: ¿cuándo son exactamente 2 destinos de memoria los mismos en este contexto? Es solo cuando 2 se superponen realmente (por ejemplo, la CPU accede a 4 bytes @ A
con una instrucción, accediendo a A,A+1,A+2,A+3
y DMA 1 byte @ A+2
) o la memoria se divide en ¿Las regiones más grandes y las 2 chocan cuando acceden a la misma región?
Si es lo último, ¿qué tan grandes son esas regiones?