Hi We are using muVision3 V3.23 (CA.EXE vs 2.41) with a MCB2140 board with LPC2148. We are using the EX8-IAP example program as a basis for flash programming to prepare an upgrade function of our system via USB. I noticed that the project is thumb code, while the main() function is declared __arm. Our project is currently thumb code. 1) Does this mean that all functions calling iap_bypointer(command,result) should be declared __arm? 2) Many example code fragments refer to external functions via the extern keyword, instead of using header files. Is there a specific reason for this, other than to spare the .h file? How should an __arm function be declared in a (thumb) .h file? 3) Are there known issues with IAP in combination with MBC2140, LPC2148, JTAG and uVision; we are experiencing odd behaviour varying from Undefined Instructions, Prefetch and Data aborts, breakpoints that become invalid when stepping through the code, and occasionally we loose the JTAG connection, a situation which only an erase with the LPC210X utility program can solve. Thanks for your help Jeroen