Secondary USB Bootloader on the LPC1788 EA Dev. Kit

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by ah138468 on Mon Jan 19 10:00:41 MST 2015

I have an LPC1788-32 Developer's Kit.

I would like to plug the device into my computer via USB, it to come up as a Mass Storage Device (MSD) containing a single file - it's current firmware, be able to replace the current firmware with a new one on the MSD, reset the device and have it running the new firmware. The firmware for this would be contained/written in an LPCXpresso (native) project, i.e. not a uVision project within uVision or within the plugin for Eclipse(/LPCXpresso).

As a starting point I have been looking at the following application note: AN10866: LPC1700 secondary USB bootloader... however, it appears to be written with a different developer kit in mind (Keil's MCB1700 development board). I have tried the following on the LPC1788 Dev. kit available to me:

- Within uVision, compiling the code as is. Uploading it via ISP.
- Within uVision, adding a target of an LPC1788, compiling the code as is. Uploading it via ISP.
- Within uVision, both of above, only calling enter_usb_isp() within main(). Uploading it via ISP.

The jumpers were kept at the default positions during the above. Additionally J15, 'Force USB Connect', was also closed. At this point the PC recognised a USB device, but it was unrecognised.

So what am I not doing?

Additionally any pointers on doing this within the LPCXpresso IDE (natively - without any plugins) as opposed to in uVision (as the application note uses) would be appreciated.

Thank you!