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
Flash.h@0:27d35fa263b5, 2013-09-01 (annotated)
- Committer:
- va009039
- Date:
- Sun Sep 01 08:25:28 2013 +0000
- Revision:
- 0:27d35fa263b5
- Child:
- 2:32e9437348ad
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:27d35fa263b5 | 1 | // Flash.h 2013/9/1 |
va009039 | 0:27d35fa263b5 | 2 | #pragma once |
va009039 | 0:27d35fa263b5 | 3 | #include "Target2.h" |
va009039 | 0:27d35fa263b5 | 4 | |
va009039 | 0:27d35fa263b5 | 5 | #define IAP_CMD_PREPARE_SECTOR 50 |
va009039 | 0:27d35fa263b5 | 6 | #define IAP_CMD_COPY_RAM_TO_FLASH 51 |
va009039 | 0:27d35fa263b5 | 7 | #define IAP_CMD_ERASE_SECTOR 52 |
va009039 | 0:27d35fa263b5 | 8 | #define IAP_CMD_BLANK_CHECK 53 |
va009039 | 0:27d35fa263b5 | 9 | #define IAP_CMD_READ_PART_ID 54 |
va009039 | 0:27d35fa263b5 | 10 | #define IAP_CMD_COMPARE 56 |
va009039 | 0:27d35fa263b5 | 11 | #define IAP_CMD_REINVOKE_ISP 57 |
va009039 | 0:27d35fa263b5 | 12 | #define IAP_READ_UID 58 |
va009039 | 0:27d35fa263b5 | 13 | |
va009039 | 0:27d35fa263b5 | 14 | #define IAP_CCLK 12000 |
va009039 | 0:27d35fa263b5 | 15 | |
va009039 | 0:27d35fa263b5 | 16 | #define IAP_CMD_SUCCESS 0 |
va009039 | 0:27d35fa263b5 | 17 | |
va009039 | 0:27d35fa263b5 | 18 | class Flash { |
va009039 | 0:27d35fa263b5 | 19 | public: |
va009039 | 0:27d35fa263b5 | 20 | Flash(Target2* target, Serial* usbpc); |
va009039 | 0:27d35fa263b5 | 21 | bool write(const char* filename); |
va009039 | 0:27d35fa263b5 | 22 | bool eraseAll(); |
va009039 | 0:27d35fa263b5 | 23 | bool verify(const char* filename); |
va009039 | 0:27d35fa263b5 | 24 | uint32_t remoteIAP(uint32_t cmd, uint32_t p0=0, uint32_t p1=0, uint32_t p2=0, uint32_t p3=0); |
va009039 | 0:27d35fa263b5 | 25 | private: |
va009039 | 0:27d35fa263b5 | 26 | void _setup(); |
va009039 | 0:27d35fa263b5 | 27 | bool _write_to_ram(int addr, int size, uint8_t* buf); |
va009039 | 0:27d35fa263b5 | 28 | int _sector(int addr); |
va009039 | 0:27d35fa263b5 | 29 | bool _patch(uint8_t* buf, int size, int addr); |
va009039 | 0:27d35fa263b5 | 30 | protected: |
va009039 | 0:27d35fa263b5 | 31 | Target2* _target; |
va009039 | 0:27d35fa263b5 | 32 | Serial* _pc; |
va009039 | 0:27d35fa263b5 | 33 | }; |