I have a boot-loader residing at flash location 0x00000000. It is capable of reading an image from as USB flash drive and writing it to address 0x00010000. Fine.
I can load my application via debugger into flash to address 0x0000000 (overwriting my bootloader on purpose). The application recognizes a USB flash drive. Fine.
I can reload my bootloader to 0x0, I can reload my application to 0x00010000. Application loads as it should but USB flash drive is no longer recognized as attached.
My USB packet sniffer indicates Corrupted packets when application is loaded at 0x00010000.
Any clues as to what might be wrong here as to why USB is attached when application resides at address 0x0 without bootloader, but not at 0x00010000 with bootloader?