Im just wondering, is it normal to send Xoff at the end of the bootloader? Just before the "JUMP $0000".
In this case the loaded firmware have to send Xon to start communication.
I'm not aware of any standard precisely defining XON/XOFF. I think it's safer to stop the host from sending data while the application initializes. It should be easy to send XON from the application once it's ready to receive data. If your application cannot send XON, just remove the XOFF from the boot loader.
IMHO if the bootloader should be transparent to the firmware, then probably the Xoff have to be removed.
(just a suggestion)
No activity on this request for more than 6 months.