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:
1:eb30547ba84d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Sep 01 08:25:28 2013 +0000
@@ -0,0 +1,49 @@
+// main.cpp 2013/9/1
+#if 1
+#include "mbed.h"
+#include "Target2.h"
+#include "Flash.h"
+
+LocalFileSystem local("local");
+Serial pc(USBTX, USBRX);
+Serial target_uart(p9,p10); // RXD(dp15),TXD(dp16)
+
+void Terminal(Target2* target)
+{
+    target->setup();
+    bool halt = false;
+    pc.printf("*** dumb-terminal ***\n\n");
+    while(1) {
+        if (target_uart.readable()) {
+            pc.putc(target_uart.getc());
+        }
+        if(pc.readable()) {
+            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;
+        } 
+    }
+}
+
+int main() {
+    //pc.baud(9600);
+    pc.baud(921600);
+    pc.printf("\ndumb-terminal with flash writer using swd\n");
+
+    const char* filename = "/local/1114FN28.LPC";
+    pc.printf("%s\n", filename);
+    
+    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);
+
+    target_uart.baud(9600);
+    LPC1114->Reset();
+    Terminal(LPC1114);
+}
+#endif