Keil Forum, [I am resubmitting this under a different subject in order to, hopefully, not scare anyone off with my previous reference to CAN.] I am using the uVision 3 tools with the ULINK debug module on a board which uses the Infineon XC167 microcontroller and has both internal and external flash. I do not believe that the exact data transfer described below is important, but rather that this is an example of what I am doing and the resultant incorrect behavior. Part of the code that I am creating receives CAN data based on an interrupt and then uses printf() to send status messages on that receipt back to my PC via the serial port. Everything works great when this code is put on the internal flash. However, when the code is put on external flash, I have a problem. Originally, this would result in one of my data "objects" being received but none of the other 9 "objects". The order of sending the objects does not matter, as only that specific one shows up. For a completely unrelated reason, I removed one of the 2 printf()'s I was using for each object, and everything started working fine. As per that, I finally boiled it down to a 1 character difference in a basic printf string causing the problem (i.e., 9 characters in the second printf quoted string and ext. flash code works as expected; 10 charcters in that same string, and the data is not received. Any ideas would be appreciated. Thanks, Darrell