NRST started to behave like an output, and it’s stuck in the high state.
Colleagues,
I’ve made a custom board with STM32L082KZ. I was able to upload firmware and debug for several days. But today I can’t upload firmware, and the NRST pin is acting strangely.
The setup
I’m using ST-link V2 and STM32cubeIDE 1.13.0 .
My entire board consumes around 20mA normally. The board is powered with a benchtop power supply. I’ve set the current limit at 40mA.
The NRST net has only three things connected to it: the microcontroller NRST pin, 0.1uF capacitor to GND, the SWD connector pin.
VDD is +3.3V .
Symptoms and observations
Today I can’t upload firmware. When I try to upload the firmware with ST-link V2, there’s a spike in current draw, which trips the current limit. I tried every reset behavior in Debug Configurations, and each one caused a power supply current spike.
The firmware from yesterday that’s left in the microcontroller was able to run all this time, and it still runs.
Discovery. I tried to reset the microcontroller manually by shorting the NRST to GND, and I also got a spike in power supply current which tripped the limit. I suppose that the spike during firmware upload happens when the ST-link tries to drive NRST low.
NRST should be an input. On the STM32L082 it’s not even possible to configure it as an output. If NRST is an input, how it sources so much current?
I powered down my circuit and measured the resistances between NRST and VDD, between NRST and GND. I got approximately 13 MΩ in both cases.
Questions
What's happening with the NRST?
How did NRST get into this state, and got stuck there?
How can I get the NRST out of this state?
Any insight or reference is really appreciated!
Best regards,
- Nick
