Suga koubou / Mbed 2 deprecated sdhc_speed_test

Dependencies:   FatFileSystemCpp SDHC_FileSystem mbed

Committer:
okini3939
Date:
Fri Feb 08 01:42:33 2013 +0000
Revision:
0:58238bb83503
Child:
1:2b18f6628bc1
1st build;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:58238bb83503 1 #include "mbed.h"
okini3939 0:58238bb83503 2 #include "SDHCFileSystem.h"
okini3939 0:58238bb83503 3
okini3939 0:58238bb83503 4 #define SIZE 10240 // KB
okini3939 0:58238bb83503 5
okini3939 0:58238bb83503 6 Serial pc(USBTX, USBRX);
okini3939 0:58238bb83503 7 DigitalOut myled(LED1);
okini3939 0:58238bb83503 8 SDFileSystem sd(p5, p6, p7, p8, "sd");
okini3939 0:58238bb83503 9 Timer t;
okini3939 0:58238bb83503 10
okini3939 0:58238bb83503 11 float wtest (int b, int d) {
okini3939 0:58238bb83503 12 int i;
okini3939 0:58238bb83503 13 int s = b / d;
okini3939 0:58238bb83503 14 char buf[d];
okini3939 0:58238bb83503 15 FILE *fp;
okini3939 0:58238bb83503 16
okini3939 0:58238bb83503 17 fp = fopen("/sd/sdhc_test.dat", "w");
okini3939 0:58238bb83503 18 if (!fp) return 0;
okini3939 0:58238bb83503 19 myled = 1;
okini3939 0:58238bb83503 20 t.reset();
okini3939 0:58238bb83503 21 t.start();
okini3939 0:58238bb83503 22 for (i = 0; i < s; i ++) {
okini3939 0:58238bb83503 23 fwrite(buf, sizeof(unsigned char), d, fp);
okini3939 0:58238bb83503 24 }
okini3939 0:58238bb83503 25 fclose(fp);
okini3939 0:58238bb83503 26 t.stop();
okini3939 0:58238bb83503 27 myled = 0;
okini3939 0:58238bb83503 28 return t.read();
okini3939 0:58238bb83503 29 }
okini3939 0:58238bb83503 30
okini3939 0:58238bb83503 31 float rtest (int b, int d) {
okini3939 0:58238bb83503 32 int i;
okini3939 0:58238bb83503 33 int s = b / d;
okini3939 0:58238bb83503 34 char buf[d];
okini3939 0:58238bb83503 35 FILE *fp;
okini3939 0:58238bb83503 36
okini3939 0:58238bb83503 37 fp = fopen("/sd/test.dat", "r");
okini3939 0:58238bb83503 38 if (!fp) return 0;
okini3939 0:58238bb83503 39 myled = 1;
okini3939 0:58238bb83503 40 t.reset();
okini3939 0:58238bb83503 41 t.start();
okini3939 0:58238bb83503 42 for (i = 0; i < s; i ++) {
okini3939 0:58238bb83503 43 fread(buf, sizeof(unsigned char), d, fp);
okini3939 0:58238bb83503 44 }
okini3939 0:58238bb83503 45 fclose(fp);
okini3939 0:58238bb83503 46 t.stop();
okini3939 0:58238bb83503 47 myled = 0;
okini3939 0:58238bb83503 48 return t.read();
okini3939 0:58238bb83503 49 }
okini3939 0:58238bb83503 50
okini3939 0:58238bb83503 51 int main() {
okini3939 0:58238bb83503 52
okini3939 0:58238bb83503 53 pc.baud(115200);
okini3939 0:58238bb83503 54 pc.printf("start\r\n");
okini3939 0:58238bb83503 55
okini3939 0:58238bb83503 56 pc.printf("write 1: %f KB/sec\r\n", (float)SIZE / wtest(SIZE * 1024, 1));
okini3939 0:58238bb83503 57 pc.printf("read 1: %f KB/sec\r\n", (float)SIZE / rtest(SIZE * 1024, 1));
okini3939 0:58238bb83503 58 pc.printf("write 100: %f KB/sec\r\n", (float)SIZE / wtest(SIZE * 1024, 100));
okini3939 0:58238bb83503 59 pc.printf("read 100: %f KB/sec\r\n", (float)SIZE / rtest(SIZE * 1024, 100));
okini3939 0:58238bb83503 60 pc.printf("write 10k: %f KB/sec\r\n", (float)SIZE / wtest(SIZE * 1024, 10000));
okini3939 0:58238bb83503 61 pc.printf("read 10k: %f KB/sec\r\n", (float)SIZE / rtest(SIZE * 1024, 10000));
okini3939 0:58238bb83503 62
okini3939 0:58238bb83503 63 return 0;
okini3939 0:58238bb83503 64 }