SD-Card Control Program / Using Micro-SD / based on SDCardTest Program (http://mbed.org/users/simon/programs/SDCardTest/gpdz4x/)

Dependencies:   mbed SDFileSystem

Please refer following my Notebook page.
/users/kenjiArai/notebook/sd-card-control-new/#

Committer:
kenjiArai
Date:
Sun Apr 04 00:42:58 2010 +0000
Revision:
0:3bd1cdc1f3f4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:3bd1cdc1f3f4 1 /* mbed Microcontroller Library - SDFileSystem
kenjiArai 0:3bd1cdc1f3f4 2 * Copyright (c) 2008-2009, sford
kenjiArai 0:3bd1cdc1f3f4 3 */
kenjiArai 0:3bd1cdc1f3f4 4
kenjiArai 0:3bd1cdc1f3f4 5 // VERY DRAFT CODE!!!
kenjiArai 0:3bd1cdc1f3f4 6
kenjiArai 0:3bd1cdc1f3f4 7 #ifndef SDFILESYSTEM_H
kenjiArai 0:3bd1cdc1f3f4 8 #define SDFILESYSTEM_H
kenjiArai 0:3bd1cdc1f3f4 9
kenjiArai 0:3bd1cdc1f3f4 10 #include "mbed.h"
kenjiArai 0:3bd1cdc1f3f4 11 #include "FATFileSystem.h"
kenjiArai 0:3bd1cdc1f3f4 12
kenjiArai 0:3bd1cdc1f3f4 13 /* Class: SDFileSystem
kenjiArai 0:3bd1cdc1f3f4 14 * Access the filesystem on an SD Card using SPI
kenjiArai 0:3bd1cdc1f3f4 15 *
kenjiArai 0:3bd1cdc1f3f4 16 * Example:
kenjiArai 0:3bd1cdc1f3f4 17 * > SDFileSystem sd(p5, p6, p7, p12, "sd");
kenjiArai 0:3bd1cdc1f3f4 18 * >
kenjiArai 0:3bd1cdc1f3f4 19 * > int main() {
kenjiArai 0:3bd1cdc1f3f4 20 * > FILE *fp = fopen("/sd/myfile.txt", "w");
kenjiArai 0:3bd1cdc1f3f4 21 * > fprintf(fp, "Hello World!\n");
kenjiArai 0:3bd1cdc1f3f4 22 * > fclose(fp);
kenjiArai 0:3bd1cdc1f3f4 23 * > }
kenjiArai 0:3bd1cdc1f3f4 24 */
kenjiArai 0:3bd1cdc1f3f4 25 class SDFileSystem : public FATFileSystem {
kenjiArai 0:3bd1cdc1f3f4 26 public:
kenjiArai 0:3bd1cdc1f3f4 27
kenjiArai 0:3bd1cdc1f3f4 28 /* Constructor: SDFileSystem
kenjiArai 0:3bd1cdc1f3f4 29 * Create the File System for accessing an SD Card using SPI
kenjiArai 0:3bd1cdc1f3f4 30 *
kenjiArai 0:3bd1cdc1f3f4 31 * Variables:
kenjiArai 0:3bd1cdc1f3f4 32 * mosi - SPI mosi pin connected to SD Card
kenjiArai 0:3bd1cdc1f3f4 33 * miso - SPI miso pin conencted to SD Card
kenjiArai 0:3bd1cdc1f3f4 34 * sclk - SPI sclk pin connected to SD Card
kenjiArai 0:3bd1cdc1f3f4 35 * cs - DigitalOut pin used as SD Card chip select
kenjiArai 0:3bd1cdc1f3f4 36 * name - The name used to access the filesystem
kenjiArai 0:3bd1cdc1f3f4 37 */
kenjiArai 0:3bd1cdc1f3f4 38 SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name);
kenjiArai 0:3bd1cdc1f3f4 39 virtual int disk_initialize();
kenjiArai 0:3bd1cdc1f3f4 40 virtual int disk_write(const char *buffer, int block_number);
kenjiArai 0:3bd1cdc1f3f4 41 virtual int disk_read(char *buffer, int block_number);
kenjiArai 0:3bd1cdc1f3f4 42 virtual int disk_status();
kenjiArai 0:3bd1cdc1f3f4 43 virtual int disk_sync();
kenjiArai 0:3bd1cdc1f3f4 44 virtual int disk_sectors();
kenjiArai 0:3bd1cdc1f3f4 45
kenjiArai 0:3bd1cdc1f3f4 46 protected:
kenjiArai 0:3bd1cdc1f3f4 47
kenjiArai 0:3bd1cdc1f3f4 48 int _cmd(int cmd, int arg);
kenjiArai 0:3bd1cdc1f3f4 49 int _cmdx(int cmd, int arg);
kenjiArai 0:3bd1cdc1f3f4 50 int _cmd8();
kenjiArai 0:3bd1cdc1f3f4 51 int _cmd58();
kenjiArai 0:3bd1cdc1f3f4 52 int initialise_card();
kenjiArai 0:3bd1cdc1f3f4 53 int initialise_card_v1();
kenjiArai 0:3bd1cdc1f3f4 54 int initialise_card_v2();
kenjiArai 0:3bd1cdc1f3f4 55
kenjiArai 0:3bd1cdc1f3f4 56
kenjiArai 0:3bd1cdc1f3f4 57 int _read(char *buffer, int length);
kenjiArai 0:3bd1cdc1f3f4 58 int _write(const char *buffer, int length);
kenjiArai 0:3bd1cdc1f3f4 59 int _sd_sectors();
kenjiArai 0:3bd1cdc1f3f4 60 int _sectors;
kenjiArai 0:3bd1cdc1f3f4 61
kenjiArai 0:3bd1cdc1f3f4 62 SPI _spi;
kenjiArai 0:3bd1cdc1f3f4 63 DigitalOut _cs;
kenjiArai 0:3bd1cdc1f3f4 64 };
kenjiArai 0:3bd1cdc1f3f4 65
kenjiArai 0:3bd1cdc1f3f4 66 #endif