We have incorporated the Processor Expert K20 tower example project USB_MS_Device into our project.
With our device running, connecting a USB cable causes what appear to be correct resets/suspensions (viewed on Ellysis USB explorer).
Host PC asks for device descriptor - our reply is correctly formed and can be followed on debug to USB_LDD_DeviceQueueDataPacket() in USB_LDD.c with what appears to be the correct data in the buffer to be sent (the first byte can be seen in debug as 0x12).
The USB analyzer shows the reply payload to be all nulls, and the PC shows 'USB device not recognized'.
We can run the K60 tower example project without problems.
Our USB D+ and D- lines are attached directly to the K20 via 30ohm resistors as per K60 tower.
Processor Expert components were copied from the example project to our project.
K20 component bus timings were altered to accommodate our 4MHz external crystal, USB clock setting shows 48MHz.
Does anyone have any ideas why we might see nulls as the payload data?