*** /AN11321/CMSIS_DAP_LPC11UXX/DAP_config.h Tue Jan 08 09:19:30 2013 --- /CMSIS_DAP_LPC11UXX/DAP_config.h Sun Jun 23 18:44:44 2013 *************** *** 81,87 **** /// This configuration settings is used to optimized the communication performance with the /// debugger and depends on the USB peripheral. For devices with limited RAM or USB buffer the /// setting can be reduced (valid range is 1 .. 255). Change setting to 4 for High-Speed USB. ! #define DAP_PACKET_COUNT 52 ///< Buffers: 64 = Full-Speed, 4 = High-Speed. /// Debug Unit is connected to fixed Target Device. --- 81,88 ---- /// This configuration settings is used to optimized the communication performance with the /// debugger and depends on the USB peripheral. For devices with limited RAM or USB buffer the /// setting can be reduced (valid range is 1 .. 255). Change setting to 4 for High-Speed USB. ! //#define DAP_PACKET_COUNT 52 ///< Buffers: 64 = Full-Speed, 4 = High-Speed. ! #define DAP_PACKET_COUNT 1 ///< Buffers: 64 = Full-Speed, 4 = High-Speed. /// Debug Unit is connected to fixed Target Device. *************** *** 127,147 **** // // Debug Port I/O Pins //LPC 11U37/401 - // SWCLK/TCK Pin PIO1_19 - #define PIN_SWCLK_TCK_PORT 1 - #define PIN_SWCLK_TCK_BIT 19 - - // SWDIO/TMS Pin PIO1_20 - #define PIN_SWDIO_TMS_PORT 1 - #define PIN_SWDIO_TMS_BIT 20 ! // SWDIO Output Enable Pin PIO1_21 ! #define PIN_SWDIO_OE_PORT 1 ! #define PIN_SWDIO_OE_BIT 21 ! // TDI Pin PIO1_22 #define PIN_TDI_PORT 1 ! #define PIN_TDI_BIT 22 // TDO Pin PIO1_25 #define PIN_TDO_PORT 1 --- 128,145 ---- // // Debug Port I/O Pins //LPC 11U37/401 ! // SWCLK/TCK Pin PIO0_17 ! #define PIN_SWCLK_TCK_PORT 0 ! #define PIN_SWCLK_TCK_BIT 17 ! ! // SWDIO/TMS Pin PIO0_7 ! #define PIN_SWDIO_TMS_PORT 0 ! #define PIN_SWDIO_TMS_BIT 7 ! // TDI Pin PIO1_24 #define PIN_TDI_PORT 1 ! #define PIN_TDI_BIT 24 // TDO Pin PIO1_25 #define PIN_TDO_PORT 1 *************** *** 151,174 **** #define PIN_nTRST_PORT #define PIN_nTRST_BIT ! // nRESET Pin PIO1_26 #define PIN_nRESET_PORT 1 ! #define PIN_nRESET_BIT 26 ! ! // nRESET Output Enable Pin PIO1_27 ! #define PIN_nRESET_OE_PORT 1 ! #define PIN_nRESET_OE_BIT 27 ! ! // Debug Unit LEDs ! // Connected LED PIO0_23 ! #define LED_CONNECTED_PORT 0 ! #define LED_CONNECTED_BIT 23 ! // Target Running LED PIO0_22 ! #define LEDRUNNING_CONNECTED_PORT 0 ! #define LEDRUNNING_CONNECTED_BIT 22 //************************************************************************************************** --- 149,176 ---- #define PIN_nTRST_PORT #define PIN_nTRST_BIT ! // nRESET Pin PIO1_5 ! //#define PIN_nRESET_PORT 1 ! //#define PIN_nRESET_BIT 5 ! // nRESET Pin PIO1_17 #define PIN_nRESET_PORT 1 ! #define PIN_nRESET_BIT 17 ! // SWDIO Output Enable Pin PIO1_21 ! //#define PIN_SWDIO_OE_PORT 1 ! //#define PIN_SWDIO_OE_BIT 21 ! // nRESET Output Enable Pin PIO1_27 ! //#define PIN_nRESET_OE_PORT 1 ! //#define PIN_nRESET_OE_BIT 27 ! // Connected LED PIO1_8 ! #define LED_CONNECTED_PORT 1 ! #define LED_CONNECTED_BIT 8 ! ! // Target Running LED PIO1_9 ! #define LED_RUNNING_PORT 1 ! #define LED_RUNNING_BIT 9 //************************************************************************************************** *************** *** 241,250 **** static __inline void PORT_OFF (void) { LPC_GPIO->SET[PIN_SWCLK_TCK_PORT] = (1 << PIN_SWCLK_TCK_BIT); LPC_GPIO->SET[PIN_SWDIO_TMS_PORT] = (1 << PIN_SWDIO_TMS_BIT); ! LPC_GPIO->SET[PIN_SWDIO_OE_PORT] = (1 << PIN_SWDIO_OE_BIT); LPC_GPIO->SET[PIN_TDI_PORT] = (1 << PIN_TDI_BIT); LPC_GPIO->DIR[PIN_nRESET_PORT] &= ~(1 << PIN_nRESET_BIT); ! LPC_GPIO->CLR[PIN_nRESET_OE_PORT] = (1 << PIN_nRESET_OE_BIT); } --- 243,253 ---- static __inline void PORT_OFF (void) { LPC_GPIO->SET[PIN_SWCLK_TCK_PORT] = (1 << PIN_SWCLK_TCK_BIT); LPC_GPIO->SET[PIN_SWDIO_TMS_PORT] = (1 << PIN_SWDIO_TMS_BIT); ! // LPC_GPIO->SET[PIN_SWDIO_OE_PORT] = (1 << PIN_SWDIO_OE_BIT); LPC_GPIO->SET[PIN_TDI_PORT] = (1 << PIN_TDI_BIT); + LPC_GPIO->SET[PIN_nRESET_PORT] = (1 << PIN_nRESET_BIT); LPC_GPIO->DIR[PIN_nRESET_PORT] &= ~(1 << PIN_nRESET_BIT); ! // LPC_GPIO->CLR[PIN_nRESET_OE_PORT] = (1 << PIN_nRESET_OE_BIT); } *************** *** 314,320 **** called prior \ref PIN_SWDIO_OUT function calls. */ static __forceinline void PIN_SWDIO_OUT_ENABLE (void) { ! LPC_GPIO->SET[PIN_SWDIO_OE_PORT] = 1 << PIN_SWDIO_OE_BIT; } /** SWDIO I/O pin: Switch to Input mode (used in SWD mode only). --- 317,324 ---- called prior \ref PIN_SWDIO_OUT function calls. */ static __forceinline void PIN_SWDIO_OUT_ENABLE (void) { ! LPC_GPIO->DIR[PIN_SWDIO_TMS_PORT] |= (1 << PIN_SWDIO_TMS_BIT); ! //LPC_GPIO->SET[PIN_SWDIO_OE_PORT] = 1 << PIN_SWDIO_OE_BIT; } /** SWDIO I/O pin: Switch to Input mode (used in SWD mode only). *************** *** 322,328 **** called prior \ref PIN_SWDIO_IN function calls. */ static __forceinline void PIN_SWDIO_OUT_DISABLE (void) { ! LPC_GPIO->CLR[PIN_SWDIO_OE_PORT] = 1 << PIN_SWDIO_OE_BIT; } --- 326,333 ---- called prior \ref PIN_SWDIO_IN function calls. */ static __forceinline void PIN_SWDIO_OUT_DISABLE (void) { ! LPC_GPIO->DIR[PIN_SWDIO_TMS_PORT] &= ~(1 << PIN_SWDIO_TMS_BIT); ! //LPC_GPIO->CLR[PIN_SWDIO_OE_PORT] = 1 << PIN_SWDIO_OE_BIT; } *************** *** 388,396 **** static __forceinline void PIN_nRESET_OUT (uint32_t bit) { if (bit) { LPC_GPIO->DIR[PIN_nRESET_PORT] &= ~(1 << PIN_nRESET_BIT); ! LPC_GPIO->CLR[PIN_nRESET_OE_PORT] = (1 << PIN_nRESET_OE_BIT); } else { ! LPC_GPIO->SET[PIN_nRESET_OE_PORT] = (1 << PIN_nRESET_OE_BIT); LPC_GPIO->DIR[PIN_nRESET_PORT] |= (1 << PIN_nRESET_BIT); } } --- 393,401 ---- static __forceinline void PIN_nRESET_OUT (uint32_t bit) { if (bit) { LPC_GPIO->DIR[PIN_nRESET_PORT] &= ~(1 << PIN_nRESET_BIT); ! LPC_GPIO->SET[PIN_nRESET_PORT] = (1 << PIN_nRESET_BIT); } else { ! LPC_GPIO->CLR[PIN_nRESET_PORT] = (1 << PIN_nRESET_BIT); LPC_GPIO->DIR[PIN_nRESET_PORT] |= (1 << PIN_nRESET_BIT); } } *************** *** 427,433 **** */ static __inline void LED_RUNNING_OUT (uint32_t bit) { //; // Not available ! LPC_GPIO->B[32*LED_CONNECTED_PORT + LED_CONNECTED_BIT] = bit; } ///@} --- 432,438 ---- */ static __inline void LED_RUNNING_OUT (uint32_t bit) { //; // Not available ! LPC_GPIO->B[32*LED_RUNNING_PORT + LED_RUNNING_BIT] = bit; } ///@} *************** *** 450,467 **** - for nTRST, nRESET a weak pull-up (if available) is enabled. - LED output pins are enabled and LEDs are turned off. */ static __inline void DAP_SETUP (void) { /* Configure I/O pins */ ! LPC_IOCON->PIO1_19 = FUNC_0 | PULL_UP_ENABLED; /* SWCLK/TCK */ ! LPC_IOCON->PIO1_20 = FUNC_0 | PULL_UP_ENABLED; /* SWDIO/TMS */ ! LPC_IOCON->PIO1_21 = FUNC_0 | PULL_UP_ENABLED; /* SWDIO_OE */ ! LPC_IOCON->PIO1_22 = FUNC_0 | PULL_UP_ENABLED; /* TDI: */ LPC_IOCON->PIO1_25 = FUNC_0 | PULL_UP_ENABLED; /* TDO: */ ! LPC_IOCON->PIO1_26 = FUNC_0 | OPENDRAIN; /* nRESET: */ ! LPC_IOCON->PIO1_27 = FUNC_0 | PULL_UP_ENABLED; /* nRESET_OE */ ! LPC_IOCON->PIO0_23 = FUNC_0 | PULL_UP_ENABLED; /* LED: */ ! LPC_IOCON->PIO0_22 = FUNC_0 | PULL_UP_ENABLED; /* LED: */ /* Configure: SWCLK/TCK, SWDIO/TMS, SWDIO_OE, TDI as outputs (high level) */ /* TDO as input */ --- 455,485 ---- - for nTRST, nRESET a weak pull-up (if available) is enabled. - LED output pins are enabled and LEDs are turned off. */ + + //DigitalInOut swdio_tms(p21);//p21 = P0_7, + //DigitalOut swclk_tck(p22);//p22 = P0_17, + //DigitalInOut nreset(p29);//p29 = P1_5, + //DigitalOut tdi(p25);//p25 = P1_24, + //DigitalIn tdo(p26);//p26 = P1_25, + + //DigitalOut led_connected(LED1);//LED1 = P1_8, + //DigitalOut led_running(LED2);//LED2 = P1_9, + //DigitalOut led_usb(LED3);// LED3 = P1_10, + + static __inline void DAP_SETUP (void) { /* Configure I/O pins */ ! LPC_IOCON->PIO0_17 = FUNC_0 | PULL_UP_ENABLED; /* SWCLK/TCK */ ! LPC_IOCON->PIO0_7 = FUNC_0 | PULL_UP_ENABLED; /* SWDIO/TMS */ ! //LPC_IOCON->PIO1_21 = FUNC_0 | PULL_UP_ENABLED; /* SWDIO_OE */ ! LPC_IOCON->PIO1_24 = FUNC_0 | PULL_UP_ENABLED; /* TDI: */ LPC_IOCON->PIO1_25 = FUNC_0 | PULL_UP_ENABLED; /* TDO: */ ! //LPC_IOCON->PIO1_5 = FUNC_0 | PULL_UP_ENABLED; /* nRESET: */ ! LPC_IOCON->PIO1_17 = FUNC_0 | PULL_UP_ENABLED ; /* nRESET: */ ! //LPC_IOCON->PIO1_27 = FUNC_0 | PULL_UP_ENABLED; /* nRESET_OE */ ! LPC_IOCON->PIO1_8 = FUNC_0 | PULL_UP_ENABLED; /* LED: */ ! LPC_IOCON->PIO1_9 = FUNC_0 | PULL_UP_ENABLED; /* LED: */ /* Configure: SWCLK/TCK, SWDIO/TMS, SWDIO_OE, TDI as outputs (high level) */ /* TDO as input */ *************** *** 469,491 **** /* nRESET_OE as output (low level) */ LPC_GPIO->SET[PIN_SWCLK_TCK_PORT] = (1 << PIN_SWCLK_TCK_BIT); LPC_GPIO->SET[PIN_SWDIO_TMS_PORT] = (1 << PIN_SWDIO_TMS_BIT); ! LPC_GPIO->SET[PIN_SWDIO_OE_PORT] = (1 << PIN_SWDIO_OE_BIT); LPC_GPIO->SET[PIN_TDI_PORT] = (1 << PIN_TDI_BIT); LPC_GPIO->CLR[PIN_nRESET_PORT] = (1 << PIN_nRESET_BIT); ! LPC_GPIO->CLR[PIN_nRESET_OE_PORT] = (1 << PIN_nRESET_OE_BIT); LPC_GPIO->DIR[PIN_SWCLK_TCK_PORT] |= (1 << PIN_SWCLK_TCK_BIT); LPC_GPIO->DIR[PIN_SWDIO_TMS_PORT] |= (1 << PIN_SWDIO_TMS_BIT); ! LPC_GPIO->DIR[PIN_SWDIO_OE_PORT] |= (1 << PIN_SWDIO_OE_BIT); LPC_GPIO->DIR[PIN_TDI_PORT] |= (1 << PIN_TDI_BIT); LPC_GPIO->DIR[PIN_TDO_PORT] &= ~(1 << PIN_TDO_BIT); LPC_GPIO->DIR[PIN_nRESET_PORT] &= ~(1 << PIN_nRESET_BIT); - LPC_GPIO->DIR[PIN_nRESET_OE_PORT] |= (1 << PIN_nRESET_OE_BIT); /* Configure: LED as output (turned off) */ LPC_GPIO->CLR[LED_CONNECTED_PORT] = (1 << LED_CONNECTED_BIT); LPC_GPIO->DIR[LED_CONNECTED_PORT] |= (1 << LED_CONNECTED_BIT); ! LPC_GPIO->CLR[LEDRUNNING_CONNECTED_PORT] = (1 << LEDRUNNING_CONNECTED_BIT); ! LPC_GPIO->DIR[LEDRUNNING_CONNECTED_PORT] |= (1 << LEDRUNNING_CONNECTED_BIT); } /** Reset Target Device with custom specific I/O pin or command sequence. --- 487,510 ---- /* nRESET_OE as output (low level) */ LPC_GPIO->SET[PIN_SWCLK_TCK_PORT] = (1 << PIN_SWCLK_TCK_BIT); LPC_GPIO->SET[PIN_SWDIO_TMS_PORT] = (1 << PIN_SWDIO_TMS_BIT); ! //LPC_GPIO->SET[PIN_SWDIO_OE_PORT] = (1 << PIN_SWDIO_OE_BIT); LPC_GPIO->SET[PIN_TDI_PORT] = (1 << PIN_TDI_BIT); LPC_GPIO->CLR[PIN_nRESET_PORT] = (1 << PIN_nRESET_BIT); ! LPC_GPIO->DIR[PIN_nRESET_PORT] |= (1 << PIN_nRESET_BIT); ! //LPC_GPIO->CLR[PIN_nRESET_OE_PORT] = (1 << PIN_nRESET_OE_BIT); LPC_GPIO->DIR[PIN_SWCLK_TCK_PORT] |= (1 << PIN_SWCLK_TCK_BIT); LPC_GPIO->DIR[PIN_SWDIO_TMS_PORT] |= (1 << PIN_SWDIO_TMS_BIT); ! LPC_GPIO->SET[PIN_SWDIO_TMS_PORT] = (1 << PIN_SWDIO_TMS_BIT); LPC_GPIO->DIR[PIN_TDI_PORT] |= (1 << PIN_TDI_BIT); LPC_GPIO->DIR[PIN_TDO_PORT] &= ~(1 << PIN_TDO_BIT); + LPC_GPIO->SET[PIN_nRESET_PORT] = (1 << PIN_nRESET_BIT); LPC_GPIO->DIR[PIN_nRESET_PORT] &= ~(1 << PIN_nRESET_BIT); /* Configure: LED as output (turned off) */ LPC_GPIO->CLR[LED_CONNECTED_PORT] = (1 << LED_CONNECTED_BIT); LPC_GPIO->DIR[LED_CONNECTED_PORT] |= (1 << LED_CONNECTED_BIT); ! LPC_GPIO->CLR[LED_RUNNING_PORT] = (1 << LED_RUNNING_BIT); ! LPC_GPIO->DIR[LED_RUNNING_PORT] |= (1 << LED_RUNNING_BIT); } /** Reset Target Device with custom specific I/O pin or command sequence.