In file efsl-0.2/src/interfaces/sd.c, function
sd_getDriveSize, the CSD response of an SD card is read
using sd_Resp8b. As I understand it, function sd_Resp8b
is used to find the start of the card response (by
finding the first byte != 0xFF). Reading the actual
response using sd_Resp8b means that any 0xFF byte in
the response is skipped, resulting in an invalid CSD.
Proposed fix: change iob[i] = sd_Resp8b(iface); in the
for-loop to iob[i] = if_spiSend(iface,0xff);
Log in to post a comment.