I use MCU MK22FN256VLL12, the development tool is KDS3.2.0.
I implement USB device by ProcessorExpert, and generate USB_LDD.
After USB device(i.e. my PCB) is attached to PC, it begin to 'standard device request', it works well as below:
1. GET_DESCRIPTION (type=DEVICE) ------- OK
2. SET_ADDRESS ------- OK
3. GET_DESCRIPTION (type=DEVICE) ------- OK
4. GET_DESCRIPTOR (type = CONFIGURATION) ------- fail, host closed the USB port
I have tried many times, it always failed on the 4th step at each time.
I am sure the previous three steps are successful, because the USB device can be showed by a tool named as 'USB Monitor'. following is the cut picture.


Port5 is my PCB, there Vendor=0x1234, Product ID=0x1122 are correct.
My question is:
Why the host quits instead to continue to request CONFIGURATION DESCRIPTOR
What is the problem, I have tried one week to search the BUG, and have to give up today, and need your help now.
The attached file is my KDS project. the drive file is <drive_usb.c>, please help me to check it .
Please note, this <drive_usb.c> worked OK on my another PCB, although, it is designed by different MCU, MKL26Z128VLH4. It can be correctly detected as following also by USB Monitor


THANK YOU ! Wait here Anxiously!
Original Attachment has been moved to: K22NUSB.zip