|
|
|
|
@ -139,19 +139,19 @@ of the same I/O port. The following SWDIO I/O Pin functions are provided: |
|
|
|
|
|
|
|
|
|
// Configure DAP I/O pins ------------------------------
|
|
|
|
|
|
|
|
|
|
#define TMS_SWDIO RI |
|
|
|
|
#define TMS_SWDIO RTS |
|
|
|
|
#define TCK_SWCLK TXD |
|
|
|
|
#define TDO_SWO RXD |
|
|
|
|
#define TDI DCD |
|
|
|
|
#define nRESET DTR |
|
|
|
|
#define nTRST RTS |
|
|
|
|
#define nTRST RI |
|
|
|
|
#define LED_CONN CTS |
|
|
|
|
#define LED_RUN DSR |
|
|
|
|
|
|
|
|
|
static __inline const char* pin_to_str(uint8_t pin){ |
|
|
|
|
switch(pin){ |
|
|
|
|
case TMS_SWDIO: |
|
|
|
|
return "TMS_SWDIO(RI)"; |
|
|
|
|
return "TMS_SWDIO(RTS)"; |
|
|
|
|
case TCK_SWCLK: |
|
|
|
|
return "TCK_SWCLK(TXD)"; |
|
|
|
|
case TDO_SWO: |
|
|
|
|
@ -161,7 +161,7 @@ static __inline const char* pin_to_str(uint8_t pin){ |
|
|
|
|
case nRESET: |
|
|
|
|
return "nRESET(DTR)"; |
|
|
|
|
case nTRST: |
|
|
|
|
return "nTRST(RTS)"; |
|
|
|
|
return "nTRST(RI)"; |
|
|
|
|
case LED_CONN: |
|
|
|
|
return "LED_CONN(CTS)"; |
|
|
|
|
case LED_RUN: |
|
|
|
|
@ -203,18 +203,17 @@ static __forceinline void FTDI_WRITE_OUT( ) { |
|
|
|
|
} |
|
|
|
|
FTDI_WRITE_OUT_READ_MODE( ); |
|
|
|
|
|
|
|
|
|
/* every generates the same amout of reads */ |
|
|
|
|
/* every write generates the same amout of reads */ |
|
|
|
|
|
|
|
|
|
success = 0; |
|
|
|
|
while(success == 0) { |
|
|
|
|
while(out_state_buff_pos!=0) { |
|
|
|
|
success = ftdi_read_data(&__ftdic,in_buff,out_state_buff_pos); |
|
|
|
|
if( success < 0 ) { |
|
|
|
|
DEBUG("Could not read pins: %s\n",ftdi_get_error_string(&__ftdic)); |
|
|
|
|
exit(1); |
|
|
|
|
} |
|
|
|
|
out_state_buff_pos -= success; |
|
|
|
|
} |
|
|
|
|
if( success != out_state_buff_pos ){ |
|
|
|
|
DEBUG("Could not read pins: %s\n",ftdi_get_error_string(&__ftdic)); |
|
|
|
|
exit(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
out_state_buff_pos = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|