Using MDK-ARM 4.22a to create a project for a custom LPC3250 based board.
I'm experimenting with the USB host functionality and running the Keil MSD_File example. The project has been modified a little (from the Phytec LPC3250 example) to match the custom hardware.
The project appears to work; i.e., I can plug in a USB memory stick, it is recognised, I can access it, I can unplug it and repeat with various other USB memory sticks.
The problem is that sometimes a USB memory stick is not recognised - And, once one is not recognised, no others are recognised either. This problem normally occurs after the project has been used and then left for a while.
I know that the code is running at this time (other functionality is good) and that USB interrupts are being generated and passed to a library function.
What I have determined is that when the main loop calls usbh_engine no error is indicated and usbh_msc_status returns a value indicating that no device is connected.
Now ... Keil in their wisdom have decided to no longer supply the source code to the USB library - So how can I find out what's really happening and why it might be failing?