semihost server example program
Dependencies: SWD mbed USBLocalFileSystem BaseDAP USBDAP
LPCXpresso LPC11U68 | LPCXpresso LPC1549 | FRDM-KL46Z | EA LPC4088 QSB app-board | LPC1768 app-board | LPC810 | LPC1114FN28 | |
---|---|---|---|---|---|---|---|
server | server | server | server | server | client | client | |
SWDIO | D12 | D12 | D12 | p25 | p21 | p4(P0_2) | p12 |
SWCLK | D10 | D10 | D10 | p26 | p22 | p3(P0_3) | p3 |
nRESET *option | D6 | D6 | D6 | p34 | p30 | p1(P0_5) | p23 |
GND | GND | GND | GND | p1 | p1 | p7 | p22 |
3.3V | P3V3 | P3V3 | P3V3 | p44 | p40 | p6 | p21 |
flash write | SW2(P0_1) | SW3(P1_9) | SW1 | p14 joystick center | p14 joystick center |
client example:
Import programlpc810-semihost_helloworld
semihost client example program
Diff: src/SDStorage.h
- Revision:
- 11:ad8af1047350
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/SDStorage.h Sun Feb 23 12:06:02 2014 +0000 @@ -0,0 +1,45 @@ +#include "mbed.h" +#include "StorageInterface.h" +#include "SWSPI.h" + +class SDStorage : public StorageInterface { +public: + SDStorage(PinName mosi, PinName miso, PinName sclk, PinName cs); + + virtual int storage_read(uint8_t* data, uint32_t block); + virtual int storage_write(const uint8_t* data, uint32_t block); + virtual uint32_t storage_sectors(); + virtual uint32_t storage_size(); + + void attachEvent(void (*ptr)()) { + if (ptr != NULL) { + onUpdate = ptr; + } + } + + int storage_initialize(); + +protected: + int _cmd(int cmd, int arg); + int _cmdx(int cmd, int arg); + int _cmd8(); + int _cmd58(); + int initialise_card(); + int initialise_card_v1(); + int initialise_card_v2(); + + int _read(uint8_t * buffer, uint32_t length); + int _write(const uint8_t *buffer, uint32_t length); + uint64_t _sd_sectors(); + uint64_t _sectors; + SWSPI _spi; + DigitalOut _cs; + int cdv; + + void (*onUpdate)(); + void update() { + if (onUpdate) { + (*onUpdate)(); + } + } +};