Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // fake code which works similar
- extern uint32_t dma_src_address;
- extern uint32_t dma_dst_address;
- extern uint32_t dma_length;
- extenr uint32_t dma_control;
- extenr uint32_t dma_status;
- void dma_memcpy(void * dst, void const * src, size_t length)
- {
- dma_src_address = src;
- dma_dst_address = dst;
- dma_length = length;
- // start the operation here
- dma_control = DMA_START | DMA_INCREMENT_SRC | DMA_INCREMENT_DST;
- while(dma_status & DMA_IN_PROGRESS) {
- /* do stuff here */
- ;
- }
- }
- // real chip reference:
- http://www.keil.com/dd/docs/datashts/nxp/lpc18xx/um10430.pdf
- chapter 17: LPC18xx General Purpose DMA (GPDMA) controller (page 349)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement