I'm developing firmware for MK20 (DX256 and DN512) using CW10.3, Processor Expert and ARM Toolchain.
I've imported into CW10.3 the following components for using the USB as CDC to talk to a terminal emulator on PC (Real Term/HyperTerminal):
1) USB_CDC_CLASS - Version Component 01.000, Driver 01.00, CPU db: 3.00.000
2) USB_DEVICE_STACK Version Component 01.027, Driver 01.00, CPU db: 3.00.000.
The problem I'm facing is that when my MPU receives a character from the PC Terminal but doesn't transmit any answer, then the MPU USB is not able to receive further characters, it seems the receiving part of the USB is disabled.
I bypassed this situation transmitting a dummy byte (0x00) for each character received but this could not be a solution in case of using any kind of protocol to exchange data between my MPU and a PC.
This problem also arise if the PC transmits a number of character (i.e. 8 bytes): after properly receiving these 8 bytes, any further receiving is "disabled" if my MPU does not send anything back.
In case of problems you can also get high quality ready-make USB-CDC (for one or multiple VCOMs and RS232-USB bridges as well as RNDIS) for your parts at
With complete K20 chip simulation for fastest developments and no more guess-work. Free and Open Source but proven in many Kinetis based industrial USB products over > 5 years of error free operation (as well as smaller code size and faster operation).