I think UARTprintf, UARTwrite or UARTCharPut don't do what they say.
I was able to repeat the behavior of "lost data" at 115200bps by sending a large string (350 characters) in UARTprintf, and after that, a few instructions later sending another 400 byte string in a different UARTprintf. The same with UARTwrite.
Both messages mix at the end. If the Uart hasn't finish to send the first one, then some data get lost.
I think that UARTprintf, UARTwrite or UARTCharPut returns when the data is in the FIFO (or ready for the UART for sending), the program continues running, even if the UART is free or not (has finished the transmission or not),soon another function tries to use the UART but only gets some free space at the end.... the bytes that got sent, the rest is lost!!
Maybe some kind professional from TI could give us some light about this topic.
Thank you