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:
8:d7f5d80531e4
Parent:
6:5da6ad51a18f
Child:
9:7e71c20c96e4
--- a/Flash.h	Tue Feb 18 06:54:42 2014 +0000
+++ b/Flash.h	Tue Feb 18 09:32:40 2014 +0000
@@ -1,9 +1,7 @@
-// Flash.h 2013/9/16
+// Flash.h 2014/2/18
 #pragma once
 #include "Target2.h"
 
-#define IAP_CCLK 12000
-
 /** Flash writer
  */
 class Flash {
@@ -12,7 +10,6 @@
     bool init();
     bool write(const char* filename);
     bool write(int addr, const uint8_t* data, int size);
-    bool eraseAll();
     bool verify(const char* filename);
     enum IAP_CMD {
         PREPARE_SECTOR = 50,
@@ -41,11 +38,23 @@
         ADDR_ERROR = 13,
     };
     IAP_STATUS remoteIAP(IAP_CMD cmd, uint32_t p0=0, uint32_t p1=0, uint32_t p2=0, uint32_t p3=0);
+    uint32_t part_id;
+
 private:
     void _setup();
+    bool remoteREG(uint32_t addr, uint32_t value);
+    bool init_lpc1114fn28_lpc810(int sector_size);
+    bool flash_init_lpc1347();
+    bool flash_init_lpc1769();
+    int addr_to_sector(int addr);
+    bool sector_head(int addr);
     bool _write_to_ram(int addr, int size, const uint8_t* buf);
-    int _sector(int addr);
     bool _patch(uint8_t* buf, int size, int addr);
+    struct {
+        int iap_cclk;
+        int sector_size;
+    } cfg;
+
 protected:
     Target2* _target;
     Serial* _pc;