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:
5:2774358f5e4f
Parent:
4:5e4107edcbdb
Child:
6:5da6ad51a18f
--- a/Flash.cpp	Wed Sep 11 14:00:40 2013 +0000
+++ b/Flash.cpp	Sat Sep 14 12:55:29 2013 +0000
@@ -121,11 +121,16 @@
     return addr / 4096;
 }
 
+static uint32_t LD32(uint8_t* buf)
+{
+    return buf[0] | buf[1]<<8 | buf[2]<<16 | buf[3]<<24;
+}
+
 bool Flash::_patch(uint8_t* buf, int size, int addr)
 {
     const int crp_start = 0x2fc; // Code Read Protection location
     if (crp_start >= addr && crp_start < addr+size) {
-        uint32_t pat = *reinterpret_cast<uint32_t*>(crp_start-addr+buf);
+        uint32_t pat = LD32(crp_start-addr+buf);
         if (pat != 0xffffffff) { // NO_CRP ?
             _pc->printf("\nCAUTION: CRP Pattern is not NO_CRP; %08x\n", pat);
             return false;