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:
1:eb30547ba84d
Parent:
0:27d35fa263b5
Child:
2:32e9437348ad
--- a/main.cpp	Sun Sep 01 08:25:28 2013 +0000
+++ b/main.cpp	Mon Sep 02 17:33:08 2013 +0000
@@ -1,8 +1,8 @@
-// main.cpp 2013/9/1
+// main.cpp 2013/9/3
 #if 1
-#include "mbed.h"
 #include "Target2.h"
 #include "Flash.h"
+#include "Semihost.h"
 
 LocalFileSystem local("local");
 Serial pc(USBTX, USBRX);
@@ -11,7 +11,9 @@
 void Terminal(Target2* target)
 {
     target->setup();
-    bool halt = false;
+    Semihost semihost(target, &pc);
+    semihost.mount("/local");
+
     pc.printf("*** dumb-terminal ***\n\n");
     while(1) {
         if (target_uart.readable()) {
@@ -21,10 +23,7 @@
             int c = pc.getc();
             target_uart.putc(c);
         }
-        if (!halt && target->getStatus() == TARGET_HALTED) {
-            pc.printf("\n*** BKPT at pc=%08x sp=%08x\n", target->pc.read(), target->sp.read());
-            halt = true;
-        } 
+        semihost.poll();
     }
 }