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:
2:32e9437348ad
Parent:
1:eb30547ba84d
Child:
3:d7a7cde0bfb8
--- a/main.cpp	Mon Sep 02 17:33:08 2013 +0000
+++ b/main.cpp	Thu Sep 05 09:34:12 2013 +0000
@@ -1,4 +1,4 @@
-// main.cpp 2013/9/3
+// main.cpp 2013/9/5
 #if 1
 #include "Target2.h"
 #include "Flash.h"
@@ -20,11 +20,13 @@
             pc.putc(target_uart.getc());
         }
         if(pc.readable()) {
-            int c = pc.getc();
-            target_uart.putc(c);
+            target_uart.putc(pc.getc());
         }
-        semihost.poll();
+        if (semihost.poll() == Semihost::SYS_EXIT) {
+            break;
+        }
     }
+    exit(0);
 }
 
 int main() {
@@ -38,8 +40,9 @@
     Target2* LPC1114 = new Target2(p21,p22,p17, &pc); // SWDIO(dp12),SWCLK(dp3),nReset(dp23),Stream
     LPC1114->setup();
     Flash flash(LPC1114, &pc);
-    flash.eraseAll();
-    flash.write(filename);
+    if (flash.eraseAll()) {
+        flash.write(filename);
+    }
 
     target_uart.baud(9600);
     LPC1114->Reset();