I am using the IAP for LPC200 example code from the download section. I am trying to get this to work on both my MCB2130 and MCB2140 eval boards. My actual hardware has a LPC2142 on it (the end goal is to provide a customer with a way to upgrate the program firmware over USB). First I ran the program as is compiled for the MCB2130 and ran it on the MCB2130. Stepping thru the code everything worked fine until I returned from the first copy RAM to FLASH command, where in result[1] I got a 9 (SECTOR NOT PREPARED FOR WRITE OPERATION). I know this is supposed to be in result[0]? Result[0] was 0. This was confirmed by looking at the memory space to be written and the contents were not correct, they were not written at all. I don't know why?? When the prepare sectors for write command was run, the result table came back with all zeros, so I would "think" that it was successful. I even zero out the result table before calling the commands so any errors in the table should be easily identified. I also verified the erase command does not work? Same result table return value. I have been reading the manual and app notes for IAP for LPC2142; nowhere does it state the PLL should be stopped, so, I removed the BYPASS_IAP define, and changed the CCLK to = 60000 instead of 12000, because the PLL is configured to multiply Fosc(12MHz) by 5 to give a processor clock (CCLK)=60MHz. That did not fix the problem. I then implemented the IAP functions to read_mfg_id and read_boot_version. These routines worked fine? So, now I am back to trying to figure out why the prepare sectors for write, erase and write commands don't work? Most of the Keil example code I have used in the past as worked quite well, I'm not sure what I am doing wrong here. Any input would be very appreciated. Thanks, Dave