sample of Memory File System Library, for SPI PRAM NP8P128A13 (Micron) see: http://mbed.org/users/okini3939/notebook/extend-memory/
Dependencies: FatFileSystemCpp PRAMFileSystem mbed
Fork of SPIRAM_NP8P128A13TSM60E by
main.cpp@2:4ed4e19338da, 2012-11-12 (annotated)
- Committer:
- okini3939
- Date:
- Mon Nov 12 15:38:55 2012 +0000
- Revision:
- 2:4ed4e19338da
- Parent:
- 1:3a2094fa7c4c
1st build
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:4d4598bd9119 | 1 | /* |
okini3939 | 2:4ed4e19338da | 2 | * Memory File System Library, for SPI PRAM NP8P128A13 (Micron) |
okini3939 | 2:4ed4e19338da | 3 | * Copyright (c) 2012 Hiroshi Suga |
okini3939 | 2:4ed4e19338da | 4 | * Released under the MIT License: http://mbed.org/license/mit |
okini3939 | 0:4d4598bd9119 | 5 | */ |
okini3939 | 0:4d4598bd9119 | 6 | |
okini3939 | 2:4ed4e19338da | 7 | #include "mbed.h" |
okini3939 | 2:4ed4e19338da | 8 | #include "PRAMFileSystem.h" |
okini3939 | 0:4d4598bd9119 | 9 | |
okini3939 | 0:4d4598bd9119 | 10 | DigitalOut myled(LED1); |
okini3939 | 0:4d4598bd9119 | 11 | Serial pc(USBTX, USBRX); |
okini3939 | 0:4d4598bd9119 | 12 | |
okini3939 | 2:4ed4e19338da | 13 | PRAMFileSystem mfs(p11, p12, p13, p14, "mfs"); // mosi, miso, sclk, cs |
okini3939 | 2:4ed4e19338da | 14 | DigitalOut hold(p15), reset(p16); |
okini3939 | 0:4d4598bd9119 | 15 | |
okini3939 | 0:4d4598bd9119 | 16 | |
okini3939 | 0:4d4598bd9119 | 17 | int main() { |
okini3939 | 2:4ed4e19338da | 18 | int i; |
okini3939 | 0:4d4598bd9119 | 19 | char buf[64]; |
okini3939 | 2:4ed4e19338da | 20 | DIR *d; |
okini3939 | 2:4ed4e19338da | 21 | struct dirent *p; |
okini3939 | 2:4ed4e19338da | 22 | FILE *fp; |
okini3939 | 0:4d4598bd9119 | 23 | |
okini3939 | 0:4d4598bd9119 | 24 | hold = 1; |
okini3939 | 0:4d4598bd9119 | 25 | reset = 0; |
okini3939 | 0:4d4598bd9119 | 26 | pc.baud(115200); |
okini3939 | 0:4d4598bd9119 | 27 | wait_ms(10); |
okini3939 | 0:4d4598bd9119 | 28 | reset = 1; |
okini3939 | 0:4d4598bd9119 | 29 | wait_ms(500); |
okini3939 | 0:4d4598bd9119 | 30 | |
okini3939 | 2:4ed4e19338da | 31 | mfs.format(); |
okini3939 | 0:4d4598bd9119 | 32 | |
okini3939 | 2:4ed4e19338da | 33 | mkdir("/mfs/test", 0777); |
okini3939 | 1:3a2094fa7c4c | 34 | |
okini3939 | 2:4ed4e19338da | 35 | fp = fopen("/mfs/hello_world.txt", "w"); |
okini3939 | 2:4ed4e19338da | 36 | if (fp) { |
okini3939 | 2:4ed4e19338da | 37 | fputs("Hello PRAM!", fp); |
okini3939 | 2:4ed4e19338da | 38 | fclose(fp); |
okini3939 | 0:4d4598bd9119 | 39 | } |
okini3939 | 0:4d4598bd9119 | 40 | |
okini3939 | 2:4ed4e19338da | 41 | d = opendir("/mfs"); |
okini3939 | 2:4ed4e19338da | 42 | if (d) { |
okini3939 | 2:4ed4e19338da | 43 | while (p = readdir(d)) { |
okini3939 | 2:4ed4e19338da | 44 | printf(" - %s\r\n", p->d_name); |
okini3939 | 2:4ed4e19338da | 45 | } |
okini3939 | 2:4ed4e19338da | 46 | } else { |
okini3939 | 2:4ed4e19338da | 47 | printf("Could not open directory!\n"); |
okini3939 | 0:4d4598bd9119 | 48 | } |
okini3939 | 2:4ed4e19338da | 49 | closedir(d); |
okini3939 | 1:3a2094fa7c4c | 50 | |
okini3939 | 2:4ed4e19338da | 51 | fp = fopen("/mfs/hello_world.txt", "r"); |
okini3939 | 2:4ed4e19338da | 52 | if (fp) { |
okini3939 | 2:4ed4e19338da | 53 | fgets(buf, sizeof(buf), fp); |
okini3939 | 2:4ed4e19338da | 54 | fclose(fp); |
okini3939 | 2:4ed4e19338da | 55 | printf("[%s]\r\n", buf); |
okini3939 | 1:3a2094fa7c4c | 56 | } |
okini3939 | 0:4d4598bd9119 | 57 | } |