LPC11U24 USB MSC bootloader and bin from Keil

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by Jeroen3 on Wed Oct 30 15:38:20 MST 2013

I've a custom board with an LPC11U24, I've chosen this chip for its internal usb bootloader and mbed library support.
When I go into the USB MSC (Mass Storage) bootloader with the P0_1 button it successfully mounts as CRP_DISABLED.
I can remove the old .bin file and copy a new .bin file to it, and powercycle the board.

This all works great, but whenever I download a .bin created with Keil uVision the device boots in bootloader again. Indicating invalid user code accoring to the bootup sequence.
When I compile the identical project with the mbed online compiler the chip does boot properly.

I'm using an exported Keil uVision (4.70) project, I might have touched the optimizer, but restoring that didn't fix it.
I know the code Keil linked works because when I downloaded it with my uLink2 it runs fine.

Do I need some special linker command to make a keil binary valid when loaded with USB MSC DFU?