semihost server example program

Dependencies:   SWD mbed USBLocalFileSystem BaseDAP USBDAP

/media/uploads/va009039/kl46z-lpc800-360x480.jpg

LPCXpresso
LPC11U68
LPCXpresso
LPC1549
FRDM-KL46ZEA LPC4088 QSB
app-board
LPC1768
app-board
LPC810LPC1114FN28
serverserverserverserverserverclientclient
SWDIOD12D12D12p25p21p4(P0_2)p12
SWCLKD10D10D10p26p22p3(P0_3)p3
nRESET
*option
D6D6D6p34p30p1(P0_5)p23
GNDGNDGNDGNDp1p1p7p22
3.3VP3V3P3V3P3V3p44p40p6p21
flash writeSW2(P0_1)SW3(P1_9)SW1p14
joystick
center
p14
joystick
center

client example:

Import programlpc810-semihost_helloworld

semihost client example program

src/RamDisk.h

Committer:
va009039
Date:
2014-02-20
Revision:
9:7e71c20c96e4
Parent:
7:acfd2dbff157

File content as of revision 9:7e71c20c96e4:

#include "mbed.h"
#include "StorageInterface.h"
#include "mymap.h"

class RamDisk : public StorageInterface {
public:
    RamDisk(int sectors = 128); // 128*512 64Kbytes
    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;
        }
    }

    void dump(int mode);

private:
    void format();
    int _sectors;
    mymap<int,uint8_t*>_sector_image;
    void (*onUpdate)();
    void update() {
        if (onUpdate) {
            (*onUpdate)();
        }
    }
};