Estoy intentando almacenar 8192 palabras de datos desde un puerto IO a RAM usando el hardware DMA de dsPIC33EP512GM710. He configurado la fuente de interrupción INT0 como la fuente para el hardware DMA. Estoy usando MPLAB SIM para simular. Me enfrento a un obstáculo importante.
Puedo establecer solo 10 bits LSB del registro de dirección de inicio DMA DMA0STAL. Incluso después de ejecutar DMA0STAL = 0x0FFFF;
, la ventana de registro de función especial muestra que DMA0STAL está configurado en 0x03FF.
He intentado usar el otro hardware DMA, DMA 1,2 y 3, y lo mismo ocurre con el registro DMAxSTAL. Intenté simular tanto en MPLAB IDE como en MPLAB X IDE. También intenté asignar valor a DMAxSTAL tanto en ensamblaje como en C y aún así solo se pueden cambiar 10 bits.
Gracias por su ayuda.
PS: No he notado este problema con ningún otro registro.
Captura de pantalla: