Hi all
I'm doing a SD-Card interface for my board. I finally initialized my card! Now Im having a problem with DMA. Im using the NXP driver(mci) and they use the DMA but its not working at all.. Every time occurs timeout in this line: " . . .
/* Start DMA Memory to Peripheral transfer. */ mci_dma_start (DMA_WRITE, buf); MCI_DATA_CTRL = 0x99; for (i = DMA_TOUT; i; i--) { if (GPDMA_RAW_INT_TCSTAT & 0x01) {
/* Data transfer finished. */ break; }
. . . "
Someone can help me here? How works this DMA? Anybody knows what is the writing/reading sequence of SD-Card?
Sorry for my poor english..
Fabio
Fabio,
NXP SD-card software is horrible. It is even more than that - it is silly and wasteful. Have a look at the Keil implementation (MCI_LPC24xx.c). It uses DMA, and works well.
Thank you Tamir, my mistake, I'm using MCI_LPC23xx.c. I don't know if it is the most recently. Apparently date of june 2010. And DMA its not working..Occurs timeout, does someone have another example?
Thank you!
View all questions in Keil forum