If you require more information on the image checksums, please see the following FAQs:
Creating an LPC valid image checksum directly in the image
I suspect that you probably need to delete the existing image over mass storage before dropping your new binary onto the disk.
Also I imagine that the file size difference you see is simply because Windows is returning the size of the whole disk rather than just the binary that has been programmed into the flash.
Regards,
LPCXpresso Support
I hit the same problem as OP. I found the problem by comparing the binary read off the device programmed using the USB MSC with the one programmed via LPC-LINK.
The issue is that when you use LPCXpresso to generate the binary file (I used right click on .axf file->Binary Utilities->Create Binary) it creates a .bin file with a signature of zero. It would be a nice feature if you could choose to add the signature to the binary at this step. The linker script instructions are good though, thanks!
The .bin file does not have a signature.
The signature is stored at location 0x1c in the .bin file and is a xor sum of the preceding 7 words.
If this is not correct, the part automatically goes back to enumerate as a Mass Storage Device.
Sorry, I got that slightly wrong, the signature is the 2's compliment of the additive sum of the first 7 words.
Look for the section "Criterion for Valid User Code" in the manual.