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:
0:27d35fa263b5
Child:
2:32e9437348ad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Flash.h	Sun Sep 01 08:25:28 2013 +0000
@@ -0,0 +1,33 @@
+// Flash.h 2013/9/1
+#pragma once
+#include "Target2.h"
+
+#define IAP_CMD_PREPARE_SECTOR    50
+#define IAP_CMD_COPY_RAM_TO_FLASH 51
+#define IAP_CMD_ERASE_SECTOR      52
+#define IAP_CMD_BLANK_CHECK       53
+#define IAP_CMD_READ_PART_ID      54
+#define IAP_CMD_COMPARE           56
+#define IAP_CMD_REINVOKE_ISP      57
+#define IAP_READ_UID              58
+
+#define IAP_CCLK 12000
+
+#define IAP_CMD_SUCCESS 0
+
+class Flash {
+public:
+    Flash(Target2* target, Serial* usbpc);
+    bool write(const char* filename);
+    bool eraseAll();
+    bool verify(const char* filename);
+    uint32_t remoteIAP(uint32_t cmd, uint32_t p0=0, uint32_t p1=0, uint32_t p2=0, uint32_t p3=0);
+private:
+    void _setup();
+    bool _write_to_ram(int addr, int size, uint8_t* buf);
+    int _sector(int addr);
+    bool _patch(uint8_t* buf, int size, int addr);
+protected:
+    Target2* _target;
+    Serial* _pc;
+};