I designed a board based upon MK20. In order to test the hardware, I reuse mbed bootloader for MK20 as testing firmware.
In Keil MDK4, I can easily detect the chip, erase, and download the code, which is checked out from github, built by Python and MDK4. So we can conclude that at least power supply, SWD/JTAG interface is correct, and reset works as well.
The current issue is USB malfunction reports by Windows. Sometimes, the device can bring system into driver installation procedure, but usually it will stop since the communication is not stable.
My circuit is different from other board, which is powered by USB 3.3V regular, which offers 120mA at 3.3V. But I think it is enough for a self-powered application, since it has not connected to any peripheral yet, just be used to power K20 itself.
Additionally, because the 8MHz crystal in FRDM board is quite expensive, I used a local 8MHz crystal, with 20pf internal capacitor, slightly different from 18pf version used in FRDM board. However the external C1/C2 I use the same value, 22pf. Should I change it, which value is the correct? Is there any formula/table available?
At last, I removed 1M Ohm resistor close the crystal, since it is DNP in FRDM-K20D50M as well as debugger micro which use QFN32 K20 as well.