USBLocalFileSystem.lib testing program for LPC11U35

Dependencies:   BaseDAP SWD USBDAP USBLocalFileSystem mbed DA14580 SWSPI W25X40BV

USB memory + Writer for DA14580 BLE chip + CMSIS-DAP debugger + USB-UART functions in one chip

One button input loads your application into DA14580 or DA14580 included BLE modules

Quote:

Current compatible hardware description can be found at https://github.com/K4zuki/da14580/releases/tag/MurataBLEr04

Committer:
k4zuki
Date:
Fri Mar 04 10:34:25 2016 +0000
Revision:
6:cb6984367a7a
Child:
7:5b78247c45c2
multi libraries update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
k4zuki 6:cb6984367a7a 1 #include "mbed.h"
k4zuki 6:cb6984367a7a 2 #include "mystorage.h"
k4zuki 6:cb6984367a7a 3 #include "W25X40BV.h"
k4zuki 6:cb6984367a7a 4
k4zuki 6:cb6984367a7a 5 // MyStorage(PinName mosi, PinName miso, PinName sclk, PinName cs);
k4zuki 6:cb6984367a7a 6 MyStorage::MyStorage(PinName mosi, PinName miso, PinName sclk, PinName cs) :
k4zuki 6:cb6984367a7a 7 _flash(mosi, miso, sclk, cs) {
k4zuki 6:cb6984367a7a 8
k4zuki 6:cb6984367a7a 9 //storage_initialize();
k4zuki 6:cb6984367a7a 10 }
k4zuki 6:cb6984367a7a 11
k4zuki 6:cb6984367a7a 12 // virtual int storage_read(uint8_t* data, uint32_t block);
k4zuki 6:cb6984367a7a 13 int MyStorage::storage_read(uint8_t *buffer, uint32_t block_number) {
k4zuki 6:cb6984367a7a 14 report_read_count++;
k4zuki 6:cb6984367a7a 15
k4zuki 6:cb6984367a7a 16 // receive the data
k4zuki 6:cb6984367a7a 17 // _read(buffer, 512);
k4zuki 6:cb6984367a7a 18 // _flash.readStream(uint32_t addr, uint8_t* buf, uint32_t count);
k4zuki 6:cb6984367a7a 19 _flash.readStream(block_number*256, buffer, 512);
k4zuki 6:cb6984367a7a 20 return 0;
k4zuki 6:cb6984367a7a 21 }
k4zuki 6:cb6984367a7a 22
k4zuki 6:cb6984367a7a 23 // virtual int storage_write(const uint8_t* data, uint32_t block);
k4zuki 6:cb6984367a7a 24 int MyStorage::storage_write(const uint8_t *buffer, uint32_t block_number) {
k4zuki 6:cb6984367a7a 25 report_write_count++;
k4zuki 6:cb6984367a7a 26
k4zuki 6:cb6984367a7a 27 // send the data block
k4zuki 6:cb6984367a7a 28 // _write(buffer, 512);
k4zuki 6:cb6984367a7a 29 // writeStream(uint32_t addr, uint8_t* buf, uint32_t count);
k4zuki 6:cb6984367a7a 30 // void pageErase(uint8_t page);
k4zuki 6:cb6984367a7a 31 _flash.pageErase(block_number);
k4zuki 6:cb6984367a7a 32 _flash.pageErase(block_number + 1);
k4zuki 6:cb6984367a7a 33 _flash.writeStream(block_number * 256, (uint8_t*)buffer, 256);
k4zuki 6:cb6984367a7a 34 _flash.writeStream(block_number * 256 + 256, (uint8_t*)(buffer + 256), 256);
k4zuki 6:cb6984367a7a 35 return 0;
k4zuki 6:cb6984367a7a 36 }
k4zuki 6:cb6984367a7a 37
k4zuki 6:cb6984367a7a 38 // virtual uint32_t storage_sectors();
k4zuki 6:cb6984367a7a 39 uint32_t MyStorage::storage_sectors() {
k4zuki 6:cb6984367a7a 40 report_sectors_count++;
k4zuki 6:cb6984367a7a 41 return 256; //256*512
k4zuki 6:cb6984367a7a 42 }
k4zuki 6:cb6984367a7a 43
k4zuki 6:cb6984367a7a 44 // virtual uint32_t storage_size();
k4zuki 6:cb6984367a7a 45 uint32_t MyStorage::storage_size()
k4zuki 6:cb6984367a7a 46 {
k4zuki 6:cb6984367a7a 47 report_size_count++;
k4zuki 6:cb6984367a7a 48 return 128*1024; //256*512
k4zuki 6:cb6984367a7a 49 }