futurecore / revelation

A JIT-enabled functional simulator for the Adapteva Epiphany III architecture
http://www.revelation-sim.org/
BSD 3-Clause "New" or "Revised" License
6 stars 1 forks source link

Implement DMA #62

Open snim2 opened 8 years ago

snim2 commented 8 years ago

Currently DMA registers do nothing special!

snim2 commented 8 years ago

Example from architecture reference:

MOV
R1, 0x8
MOVT R1, _1D_DESCR
; set the startup bit
; put descriptor pointer in the upper 16 bits
MOVTS DMA0CONFIG, R1 ; start a DMA transfer by writing to the
; DMA config register.
_1D_DESCR;
.word 0x00000003; configure in master mode and enable
.word 0x00010001; increment src/dst address by 1 byte each transaction
.word 0x00010008; transfer has 8 transactions in a single inner loop
.word 0x00000000; outer loop stride not used in this example
.word 0x00002000; set source address to 0x2000, a local address
.word 0x92000000; set destination address to an external address