Looking at this in more detail, it would appear that the PC application sends one line of characters when it starts, and then waits for the target to respond. The default setting for the bootloader timeout is one second. Therefore, there needs to be some tight coordination between powering up the target and starting of the transmission from the PC app. Eventually, I managed to get the download working, and programmed my target with new code. I assume that I have done everything in the correct order? I did consider making the timeout period longer, but this would mean that the target would not be controlling what it is supposed to be controlling for a considerable amount of time (in embedded terms). Would it not be better if the PC app continually sent out the first block of characters until it got a response from the target? This way, we could use a much shorter timeout period.