I have a beagle bone black board and I'm using starterware to implement a fat32 file system on SD card. I used an standard sd card(2 GB) in High Speed mode(clock = 50 MHz). First i tried to read/write raw data from SD card. there are two low level fucnction to read/write sectors from/to sd card.they are as follow:
MMCSDWriteCmdSend(sdCard.ctrl, dataToSDCard, 1, 48828); // 48828*512 = 25 000 000 MMCSDReadCmdSend(sdCard.ctrl, dataFromSDCard, 1, 48828);
Write function take approximately 3.1 seconds. read function takes approximately 1.2 seconds.
at second stage I ported the fat32 file system(developed by chan). the problem is that read/writes from/to file is too slow.
f_write(&writeFile, dataToSDCard, 48828*512, &temp); // cluster = 4 KB f_read(&readFile, dataFromSDCard,48828*512, &temp);
f_write function takes 20 seconds. f_read function takes 3.5 seconds. I don't want to increase cluster size. please give me some advice to increase the speed of the f_read/f_writes function.