USB composite device example program, drag-and-drop flash writer.

Dependencies:   SWD USBDevice mbed BaseDAP

Committer:
va009039
Date:
Sat Sep 28 03:21:14 2013 +0000
Revision:
1:ea8e179320d7
Parent:
0:2385683c867a
add USBMSD_Drop class. add CDC(Virtual COM) and HID(for example CMSIS-DAP), but KL25Z not work.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 1:ea8e179320d7 1 // USBMSD_LPC.h 2013/9/26
va009039 0:2385683c867a 2 #pragma once
va009039 1:ea8e179320d7 3 #include "USBMSD_Drop.h"
va009039 0:2385683c867a 4 #include "Target2.h"
va009039 0:2385683c867a 5 #include "Flash.h"
va009039 0:2385683c867a 6
va009039 0:2385683c867a 7 /** drag-and-drop flash writer using the USBMSD class
va009039 0:2385683c867a 8 *
va009039 0:2385683c867a 9 * @code
va009039 0:2385683c867a 10 * #include "mbed.h"
va009039 0:2385683c867a 11 * #include "USBMSD_LPC.h"
va009039 0:2385683c867a 12 * Serial pc(USBTX, USBRX);
va009039 1:ea8e179320d7 13 * SWD swd(PTB8,PTB9,PTB10); // SWDIO(dp12),SWCLK(dp3),nReset(dp23)
va009039 1:ea8e179320d7 14 *
va009039 0:2385683c867a 15 * int main() {
va009039 1:ea8e179320d7 16 * USBMSD_LPC* LPC1114 = new USBMSD_LPC(&swd, &pc);
va009039 0:2385683c867a 17 * while(1); // forever
va009039 0:2385683c867a 18 * }
va009039 0:2385683c867a 19 * @endcode
va009039 0:2385683c867a 20 */
va009039 1:ea8e179320d7 21 class USBMSD_LPC : public USBMSD_Drop {
va009039 0:2385683c867a 22 public:
va009039 0:2385683c867a 23 /** create drag-and-drop flash writer
va009039 1:ea8e179320d7 24 * @param swd SWD interface
va009039 0:2385683c867a 25 */
va009039 1:ea8e179320d7 26 USBMSD_LPC(SWD* swd, Serial* usbpc);
va009039 0:2385683c867a 27 virtual ~USBMSD_LPC() {}
va009039 1:ea8e179320d7 28 virtual void Drop(const uint8_t* data, int len, int offset, int total);
va009039 0:2385683c867a 29 protected:
va009039 1:ea8e179320d7 30 Target2* _target;
va009039 0:2385683c867a 31 Flash* _flash;
va009039 0:2385683c867a 32 Serial* _pc;
va009039 0:2385683c867a 33 };