I'm hoping others will share their results here. I've benchmarked the SD card using the Hitex EVA4350, a hacked version of the hitext_eva-4350_periph_sdmmc example code from LPCOpen to do a benchmark (I'll post the code if anyone cares), and a Sandisk Ultra 8GB SD card (actually it's a uSD with an adaptor). It looks like the SD is being set up for 4-bit datapath and 25MHz clock (when I simply upped that clock to 50MHz in the code, the program failed).
So basically, 1MB/s write, 2.6MB/s read speeds with 1MB data file, 4K chunks at a time. Not very impressive.... maybe I'm missing something?
Interesting (a bit late, I already decided against this processor for the project I'm on...).
I don't think it's the SD card itself though, because a few years ago I had benchmarked these with the Freescale iMX.31 and gotten blistering speeds with small chunks reading.
How to prove, however?
Adding the cost of a large external SDRAM is not feasible for this project - if it were, then maybe I could use uClinux, and get better performance from the SD card.
I didn't see the SDMMC raw performance application, do you have a relative pathname to it's directory?
Hi,
I tried the same application with LPCOpen V1.03 release with the following modifcations (Code attached in zip file):
a. Entire bench data transferred at a time instead of transferring in 4KB/64Kb chunks
b. The buffer is located in SDRAM since 1MB buffer not fit in IRAM
I am getting the following results:
Initializing RTC (might take few seconds)...Done
Hello NXP Semiconductors
***SDCARD demo***
SD Card Benchmark, 1048576 bytes in 1048576 blocks
Open root directory.
Directory listing...
1310 IMPORT~1.TXT
14 HELLO.TXT
1048576 BENCH.TXT
74 MESSAGE.TXT
Creating BENCH.TXT
BYTES WRITTEN: 1048576
CPU SPEED: 204.0 (MHz)
START TIME: 1722771677 (ticks)
END TIME: 1774314134 (ticks)
Total time: 252659 (uSec)
Write time: 225940 (uSec)
Write speed: 4640 (kB/S)
Open & read benchmark.txt
BYTES READ: 1048576
CPU SPEED: 204.0 (MHz)
START TIME: 1778300004 (ticks)
END TIME: 1811442817 (ticks)
Total time: 162464 (uSec)
Read time: 161473 (uSec)
Read speed: 6493 (kB/S)
Open root directory.
Directory listing...
1310 IMPORT~1.TXT
14 HELLO.TXT
1048576 BENCH.TXT
74 MESSAGE.TXT
Test completed.
Also in LPCOpen V1.03 release, there is SDMMC measurement application which will measure the SDMMC raw performance (without FATFS) with code executed from IRAM.
Sorry but they're not too small, I expect much better performance with that size.
But 64K does improve things.
4 K chunks is too small. Try 64KByte.