Hello,
I am currently working on a project that will be using the RT1170 series MCU in one of our devices to handle all of the underlying control and communication between internal peripherals, touch screen, SDRAM, etc.. For the UART module, we have designed the system to use LPUART1 for 1 of 2 serial modules and use GPIO and TMR1 interrupts for the other module.
I am successfully able to generate a stable "clock" with the timer that has it's counter reset with each frame of data that comes in on RX. And have been able to successfully transmit and receive over 1GB with less than 1% error.
The issue only appears after a system boot. If I reset the system, after the pin and board init's, I call my serial_write() function which will sit and transmit a string over TX until it reaches the '\0' terminator. The system then sits in a while loop and waits for user input over RX. The first byte that is received over RX after system boot will be incorrectly framed and with an oscilloscope it can be observed that about 50usec is spent in the TMR1 IRQ. And this phenomenon only appears in the TMR1 IRQ after boot, only the once during runtime, and is repeatable on multiple EVK boards.
Below is my c code and a SC of the oscilloscope.

(NULL byte sent as first byte after boot)

(512 Byte string sent over RX after NULL byte)
Any insight would be appreciated,
Thanks,
B.