semihost server example program
Dependencies: SWD mbed USBLocalFileSystem BaseDAP USBDAP
LPCXpresso LPC11U68 | LPCXpresso LPC1549 | FRDM-KL46Z | EA LPC4088 QSB app-board | LPC1768 app-board | LPC810 | LPC1114FN28 | |
---|---|---|---|---|---|---|---|
server | server | server | server | server | client | client | |
SWDIO | D12 | D12 | D12 | p25 | p21 | p4(P0_2) | p12 |
SWCLK | D10 | D10 | D10 | p26 | p22 | p3(P0_3) | p3 |
nRESET *option | D6 | D6 | D6 | p34 | p30 | p1(P0_5) | p23 |
GND | GND | GND | GND | p1 | p1 | p7 | p22 |
3.3V | P3V3 | P3V3 | P3V3 | p44 | p40 | p6 | p21 |
flash write | SW2(P0_1) | SW3(P1_9) | SW1 | p14 joystick center | p14 joystick center |
client example:
Import programlpc810-semihost_helloworld
semihost client example program
Diff: Flash.h
- 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;