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

Revision:
9:7e71c20c96e4
Parent:
8:d7f5d80531e4
Child:
14:e6acf863207e
--- a/Flash.h	Tue Feb 18 09:32:40 2014 +0000
+++ b/Flash.h	Thu Feb 20 09:43:03 2014 +0000
@@ -40,6 +40,12 @@
     IAP_STATUS remoteIAP(IAP_CMD cmd, uint32_t p0=0, uint32_t p1=0, uint32_t p2=0, uint32_t p3=0);
     uint32_t part_id;
 
+    void attachEvent(void (*ptr)()) {
+        if (ptr != NULL) {
+            onUpdate = ptr;
+        }
+    }
+    
 private:
     void _setup();
     bool remoteREG(uint32_t addr, uint32_t value);
@@ -50,11 +56,18 @@
     bool sector_head(int addr);
     bool _write_to_ram(int addr, int size, const uint8_t* buf);
     bool _patch(uint8_t* buf, int size, int addr);
+    void (*onUpdate)();
+    void update() {
+        if (onUpdate) {
+            (*onUpdate)();
+        }
+    }
     struct {
         int iap_cclk;
         int sector_size;
     } cfg;
 
+
 protected:
     Target2* _target;
     Serial* _pc;