Tool/software: TI-RTOS
Hi,
Is DMA transfer is possible in internal eeprom?
Regards
Nikhil
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: TI-RTOS
Hi,
Is DMA transfer is possible in internal eeprom?
Regards
Nikhil
Nikhil KV1 said:1. Will it generate an interrupt for each 4 byte transfer?
By "it" do you mean using the DMA to read? You set the transfer size and get an interrupt when the transfer is complete. You should do the DMA transfer using 32-bit reads from the EERDWRINC register and you cannot cross the block boundary. That way you can read 16 32-bit words, or 64 bytes and then generate an interrupt. But reads happen so fast that I don't think anyone has bothered to use DMA. Typically they just call EEPROMRead().
Nikhil KV1 said:2. In call back method is it possible to configure it to generate a single interrupt after completing transfer of a complete packet of size 96 bytes?
When writing to the EEPROM using interrupts you get an interrupt after each 32-bit word is written. Typically you would write a function that you pass an address, a count, a pointer to a data buffer and a pointer to a call back function. This routine would keep a static copy of the address and count (and of the data buffer if the data pointer did not point to a static buffer). It would start the process by enabling flash interrupts and calling EEPROMProgramNonBlocking(). The flash interrupt routine would have access to the static address and count and would make subsequent calls to EEPROMProgramNonBlocking() until all data was programmed, then call the callback function.
Nikhil KV1 said:3. Is there any sample code available for DMA based eeprom ?
No, and while using DMA for read is possible, it is not practical. Reading is not the time issue, it is writing.