UART Glitch On Startup Causes Hardfault in FreeRTOS

Joe, I suggest you drop an anvil on it or perhaps set it on fire. No more hard faults.

Seriously though I think you are left with two paths.

  1. Dissect the hard fault in detail using the link I posted earlier. That might help you reconstruct how you got to the hard fault.

  2. Continue changing stimulus to narrow down the cause. You might try changing the parser to dump the zero byte or perhaps change a good byte into a zero byte just to see what happens. Or maybe don’t initialize the USART until after the break but manually insert a zero byte into the RX queue. Or any other ideas you might come up with to divide and conquer. If you have a suspect (like the break for example) then attack that.

(3. Use a full trace system but I’m guessing you don’t have that.)