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: main_LPC11U35_SD.cpp
- Revision:
- 18:5ed1759e863b
- Parent:
- 17:4e1205ce031f
--- a/main_LPC11U35_SD.cpp Sat May 03 12:54:55 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -// main_LPC11U35_SD.cpp 2014/5/3 -#if 1 && defined(TARGET_LPC11U35_401) -#include "Target2.h" -#include "Flash.h" -#include "USBLocalFileSystem.h" -#include "Semihost.h" - -#define USE_SD 1 -#define SD_DI P1_15 -#define SD_DO P0_14 -#define SD_CK P0_23 -#define SD_CS P0_17 - -Serial pc(P0_19,P0_18); // tx,rx -SWD swd(P0_8,P0_7,P0_2); // SWDIO,SWCLK,nReset -InterruptIn sw_isp(P0_1); -DigitalOut led_disk(P0_20); -DigitalOut led_flash(P0_21); -#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(500); - write_start = true; -} - -int main() { - pc.baud(9600); - pc.printf("%s\n", __FILE__); - led_disk = LED_OFF; - led_flash = LED_OFF; - - sw_isp.mode(PullUp); - sw_isp.fall(swIRQ); - -#if USE_SD - USBLocalFileSystem* usb_local = new USBLocalFileSystem(SD_DI,SD_DO,SD_CK,SD_CS); // mosi,miso,clk,cs -#else - USBLocalFileSystem* usb_local = new USBLocalFileSystem(); // RamDisk(64KB) -#endif - 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_LPC11U35_401