I just purchased the C51 development kit, with uVision V4.20a. I had an older version that came with the Cypress EZUSB-FX development kit. The following code, which disconnects and then reconnects from the USB, used to work with the old debugger.
USBCS |= bmDISCON; EZUSB_Delay(1000); USBCS &= ~bmDISCON;
USBCS &= ~bmDISCON;
I guess the new dubugger is responding to a INT2 interrupt that apparently is being caused by the USB connect. The interrupt vector at 0x0043 is a LJMP 0x8000. Me thinks I have to dissable INT2 before, then clear the USB core after reconnection, then re-enable INT2 right?