In newer version of LPC Boot ROM , checksum is added in location 7 ( offset 0x0000001C in vector table ) of Boot ROM. For some LPC device, for example LPC8N04, older Boot ROM version 0.12 (equipped in Rev B board) doesn’t contain checksum but newer version 0.14( equipped in Rev C board ) adds it. Boot ROM checksum is a criteria for valid user code. Bootloader can jump to user code only when detects checksum value correct. Otherwise, it stays at boot code.
User may have this annoying problem: the program runs well if download code to LPC flash with debugger. However power off and on again, the code won’t run any more.
If you also experience same in field, you may consider the possibility of Boot ROM checksum failed.
This document tells how overcome this problem.
1. calculate checksum value by hand
2. calculate checksum value with Keil elfdwt.exe
For detail, see attached article.