I'm just wondering about how DMA works with the Epiphany architecture.
From the documentation, I gather that you can set the STARTUP bit to 1 to make the DMA engine fetch a DMA descriptor from memory and load it into the register. Does that mean the new DMA descriptor (and configuration) from memory overwrites the configuration I would have just loaded into the DMA register to load the new configuration?
After DMA completes, I understand that it triggers an interrupt to signal its completion (if IRQEN is set). If STARTUP is still set after DMA completes, does it fetch a new descriptor from the address contained in the DMA configuration last loaded from the first descriptor? If so, what's the difference between STARTUP and CHAINMODE (apart from STARTUP kickstarting DMA)?
I am also unclear about the purpose of DMAEN -- if I set STARTUP, do I need to set DMAEN?