The purpose of this application is to allow easy manipulation of the QSPI file system from a PC
Dependencies: EALib USBDevice mbed
RAMFileSystem.h
00001 #ifndef RAMFILESYSTEM_H 00002 #define RAMFILESYSTEM_H 00003 00004 #include "mbed.h" 00005 #include "FATFileSystem.h" 00006 #include "sdram.h" 00007 #include <stdint.h> 00008 00009 /** Creates a FAT file system in SDRAM 00010 * 00011 * @code 00012 * #include "mbed.h" 00013 * #include "RAMFileSystem.h" 00014 * 00015 * RAMFileSystem ramfs(0xA0000000, 4*1024*1024, "ram"); // 4MB of ram starting at 0xA... 00016 * 00017 * int main() { 00018 * sdram_init(); 00019 * 00020 * FILE *fp = fopen("/ram/myfile.txt", "w"); 00021 * fprintf(fp, "Hello World!\n"); 00022 * fclose(fp); 00023 * } 00024 * @endcode 00025 */ 00026 class RAMFileSystem : public FATFileSystem { 00027 public: 00028 00029 /** Create the File System in RAM 00030 * 00031 * @param addr Start of memory to use for file system 00032 * @param size Number of bytes to use for file system 00033 * @param name The name used to access the virtual filesystem 00034 */ 00035 RAMFileSystem(uint32_t addr, uint32_t size, const char* name); 00036 virtual int disk_initialize(); 00037 virtual int disk_status(); 00038 virtual int disk_read(uint8_t * buffer, uint64_t sector); 00039 virtual int disk_write(const uint8_t * buffer, uint64_t sector); 00040 virtual int disk_sync(); 00041 virtual uint64_t disk_sectors(); 00042 00043 uint64_t disk_size(); 00044 int disk_nread(uint8_t * buffer, uint64_t sector, uint8_t count); 00045 int disk_nwrite(const uint8_t * buffer, uint64_t sector, uint8_t count); 00046 00047 protected: 00048 00049 uint32_t memStart; 00050 uint32_t memSize; 00051 int status; 00052 }; 00053 00054 #endif 00055
Generated on Wed Jul 13 2022 17:18:12 by 1.7.2