cmsis-dap debug adapter

Dependencies:   BaseDAP F042K6_USBDevice SWD USBDAP mbed

Fork of Simple-CMSIS-DAP by Norimasa Okamoto

CMSIS-DAP debug adapter. (not mbed-interface)

/media/uploads/va009039/f042k6_simple-cmsis-dap.jpg

SWDNUCLEO-F042K6
SWDIOD7
SWCLKD6
nRESETD3
Committer:
va009039
Date:
Wed Jan 20 04:51:50 2016 +0000
Revision:
2:6846bcae69aa
Parent:
1:2957e24bb52f
for Nucleo-F042K6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 2:6846bcae69aa 1 // main.cpp 2016/1/20
va009039 0:dbe821206b04 2 #include "mbed.h"
va009039 0:dbe821206b04 3 #include "USBDAP.h"
va009039 0:dbe821206b04 4 #include "BaseDAP.h"
va009039 0:dbe821206b04 5
va009039 2:6846bcae69aa 6 SWD swd(D7, D6, D3); // SWDIO,SWCLK,nRESET
va009039 2:6846bcae69aa 7 DigitalOut connected(LED1); // D13
va009039 2:6846bcae69aa 8 DigitalOut running(D12);
va009039 2:6846bcae69aa 9 const int LED_ON = 1;
va009039 2:6846bcae69aa 10 const int LED_OFF = 0;
va009039 0:dbe821206b04 11
va009039 0:dbe821206b04 12 class myDAP : public BaseDAP {
va009039 0:dbe821206b04 13 public:
va009039 0:dbe821206b04 14 myDAP(SWD* swd):BaseDAP(swd){};
va009039 0:dbe821206b04 15 virtual void infoLED(int select, int value) {
va009039 0:dbe821206b04 16 switch(select) {
va009039 0:dbe821206b04 17 case 0:
va009039 2:6846bcae69aa 18 connected = value ? LED_ON : LED_OFF;
va009039 0:dbe821206b04 19 break;
va009039 0:dbe821206b04 20 case 1:
va009039 2:6846bcae69aa 21 running = value ? LED_ON : LED_OFF;
va009039 0:dbe821206b04 22 break;
va009039 0:dbe821206b04 23 }
va009039 0:dbe821206b04 24 }
va009039 0:dbe821206b04 25 };
va009039 0:dbe821206b04 26
va009039 0:dbe821206b04 27 int main() {
va009039 2:6846bcae69aa 28 USBDAP* hid = new USBDAP("F042K6 CMSIS-DAP");
va009039 0:dbe821206b04 29 myDAP* dap = new myDAP(&swd);
va009039 0:dbe821206b04 30 while(1) {
va009039 0:dbe821206b04 31 HID_REPORT recv_report;
va009039 0:dbe821206b04 32 if(hid->readNB(&recv_report)) {
va009039 0:dbe821206b04 33 HID_REPORT send_report;
va009039 0:dbe821206b04 34 dap->Command(recv_report.data, send_report.data);
va009039 0:dbe821206b04 35 send_report.length = 64;
va009039 0:dbe821206b04 36 hid->send(&send_report);
va009039 0:dbe821206b04 37 }
va009039 0:dbe821206b04 38 }
va009039 0:dbe821206b04 39 }
va009039 0:dbe821206b04 40