Hi Denis Collis,
Thank you for your updated information.
I don't think the pull up in the UART pin is the key point, but the TTL-USB really influence your MCU work.
Now, please check these points.
1. Please add the LED blinking or the GPIO toggle code, just check when your UART can't work, whether your other code, eg, LED blinky can work?
Just make sure whether the code is stopped anywhere.
2. Please modify your FOPT, the flash address is 0x40d, you can change the code boot from the internal flash directly, instead of boot from the ROM after rest.

Then download your code again.
Check whether the problem still happens or not?
3. When you connect the TTL-USB, please add the GND connect to your board GND.
4. Please also use the oscilloscope to check your NMI pin during the reset. Whether it has the pull low problem or not?
Please try it again.
If you still have question about it, please kindly let me know.
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------