I've got a FatFS SDHC driver implemented that works well for single sector reads/writes.
I'm attempting to do multi-sector reads and am experiencing strange SDHC behavior.
As a test, I want to read 1024 bytes from a file -- so FatFS (after all its FAT and Directory reads) - issues a read for two (2) sectors from the wanted file.
My "Read Block" interface issues a CMD18 with a block count of 2 and AutoCMD12 enabled.
After I read 1024 bytes (256 dwords) the SDHC does NOT show TC (Transfer Complete) active. I have to perform another 128 dummy reads of the 512 buffer in order to get TC active.
I can't believe this is correct so I must be doing something wrong.
I need to understand this issue before I try to implement DMA .. since I can't do 128 dummy DMA reads.
I would appreciate any insight you might have on why the SDHC is requiring an additional read of the complete 512 buffer before it issues a TC.