The MCU doesn't program when it is COLD.
I have recently created a PCB in which I am attempting to program external FLASH via the QSPI interface. It is a very simple 2-layer PCB. The MCU is the STM32H723ZGT6. I am using an LDO to convert the 5V USB to 3.3V. There is a power LED. There are four discrete I/O LEDs that I am driving from the MCU. I am using two switches with internal pull-up resistors.
Programming is performed using an STLink V3Set on the TMS and TCK lines. I am using STM32CubeIDE as the development software. I have updated the drivers and firmware to the latest revisions.
My problem is that I designed and ordered some PCBs from JLCPCB. I assembled one and began my programming experience. I quickly became frustrated as the board would not program. In my attempt to remedy the problem, I began testing components and replacing anything that I thought might interfere with programming. Each time I would solder a new component on the PCB, the MCU would accept programming. If I let the board cool off, it would not accept programming. I discovered that the MCU will not program at room temperature but it will program if it is just above room temperature.
I populated a second PCB, thinking that I had an error with the first. The second one exhibited the same error. I replaced the MCU with a STM32H730ZET6 with the same results. I redesigned the PCB and ordered a new set. The new one exhibits the same problems.
I've had everyone in my office inspect it to see if they could find anything wrong. The pinouts are correct.
Some of the attempts I've tried:
1-Changing NRST capacitor values from DNP to 680pF to 0.1uF to 10uF (DNP does not work at all.
2-Removing the LDO and using 3.3V from an alternate source.
3-Using a capacitor in parallel to the boot0 resistor.
4-Cutting all traces from the programmer to the MCU and replacing them with wires.
5-Programming a known working PCB with the same MCU with the program and it works.
6-Programming the bad cold temperature PCB with a known working program and it doesn't work.
7-Changing programmers.
8-Changing the programming frequency.
Attached is a screenshot of the error. Has anyone else had this problem? Has anyone else been able to find a solution?

