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:
18:5ed1759e863b
Parent:
17:4e1205ce031f
--- a/main_LPC1549.cpp	Sat May 03 12:54:55 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-// main_LPC1549.cpp 2014/5/3
-#if defined(TARGET_LPC1549)
-#include "Target2.h"
-#include "Flash.h"
-#include "USBLocalFileSystem.h"
-#include "Semihost.h"
-
-Serial pc(USBTX,USBRX);
-SWD swd(D12,D10,D6); // SWDIO,SWCLK,nReset
-InterruptIn sw3(P1_9);
-DigitalOut led_disk(LED1);
-DigitalOut led_flash(LED2);
-#define LED_ON  0
-#define LED_OFF 1
-
-void callback_disk() {
-    led_disk = !led_disk;
-}
-
-void callback_flash() {
-    led_flash = !led_flash;
-}
-
-__IO bool write_start = false;
-void swIRQ() {
-    wait_ms(100);
-    write_start = true;
-}
-
-int main() {
-    pc.baud(9600);
-    pc.printf("%s\n", __FILE__);
-    led_disk = LED_OFF;
-    led_flash = LED_OFF;
-
-    sw3.mode(PullUp);
-    sw3.rise(swIRQ);
-        
-    USBLocalFileSystem* usb_local = new USBLocalFileSystem(); // RamDisk(64KB)
-    usb_local->attachEvent(callback_disk);
-    Target2* lpc = new Target2(&swd);
-    lpc->setup();
-    Semihost semihost(lpc, &pc, usb_local);
-    semihost.mount("/local");
-    lpc->resume(); // C_DEBUGEN ON
-    while(1) {
-        if (write_start) {
-            usb_local->remount();
-            mystring filename;
-            if (LocalStorage::find_bin(filename)) {
-                pc.printf("*** bin filename=[%s]\n", filename.c_str());
-                lpc->setup();
-                Flash flash(lpc, &pc);
-                flash.attachEvent(callback_flash);
-                if (flash.init()) {
-                    flash.write(filename.c_str());
-                    flash.verify(filename.c_str());
-                }
-            } else {
-                pc.printf("*** binary image file not found.\n");
-            }
-            lpc->SoftwareReset();    
-            lpc->HardwareReset();
-            led_flash = LED_OFF;
-            write_start = false;
-        }
-        semihost.poll();
-    }        
-}
-#endif // TARGET_LPC1549