We have an NXP LPC2888 prototype board which, due to a design oversight, has the USB flash programming mode pins (mode1/P2[2] and mode2/p2[3]) unconnected and unreachable under the BGA package. The LPC2888 is therefore always in the "Execute user program from internal flash memory" mode unless the "valid program" marker flag at 0x104F_F800 is not set as 0xAA55_AA55. Therefore it seems that once we program the chip for the first time, it will be bricked forever.
Obviously a board re-spin is in order but as a temporary hack to allow some work to be done in the mean time the question is:
Can we prevent the magic cookie vale of 0xAA55_AA55 from being written during USB flash programming?
If so, would the chip begin executing the new user code from flash memory after the flash programming? Would the next power up then have the chip's boot ROM again enter the "Download program from USB port to memory" mode having not seen the valid magic cookie value?
Please forgive our ignorance as we have never done any design with ARM based microcontrollers before and the LPC2888 user manual does not seem to explicitly indicate this. Experimentation would probably reveal the actual behaviour but we don't want to risk bricking the only board we have.