cancel
Showing results for 
Search instead for 
Did you mean: 

MCU doesn't start after power cycle; Reset works OK

KaushikChavda
Associate II

Dear Team ST,

We are using the STM32 MCU (Part No. STM32F407VET6) on our custom board, and we are currently facing an issue related to the reset function.

During board power-on or after program loading, the MCU appears to enter a hold or non-responsive state. This issue occurs every time the board is powered OFF and then powered ON. However, when the hardware reset button is pressed, the MCU starts functioning as expected.

We kindly request your support in identifying the root cause of this issue. Please advise if any modifications are required on the firmware or hardware side to resolve this behaviour.

We look forward to your guidance.

Regards,

Kaushik

@Shubham Prakashpant BOHARAPI

26 REPLIES 26

> As @mansi suggested, try a reset controller - or just manually hold NRST low during power-up.

That can be done by a simple RC element on the reset input, a cap to GND and a pull-up resistor.
Until the cap is charged up H level threshold through the pull-up at power up, this will hold the MCU in reset.
I have seen this simple trick in many designs, by the way.

The schematic does already have that.

The suggestion is to try it to see if it makes any difference

 

PS:

From the posted schematic:

Image1.png

 

From the STM32F4 Hardware Design Guide:

Image2.png

http://nic.vajn.icu/PDF/STMicro/ARM/STM32F4/STM32F4xx_Hardware_Dev.pdf#page=11

Which recommends no external pullup.

This is repeated in the datasheet:

Image4.png

https://www.st.com/resource/en/datasheet/stm32f407ve.pdf#page=120

Although an external pullup is generally not considered harmful, the 4k7 shown seems a bit low - so maybe it's giving a too-short pulse ... ?

@KaushikChavda 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

> The schematic does already have that.

Of the OP's custom board, or a STM32 reference board ?


> Which recommends no external pullup.

> This is repeated in the datasheet:

By the way, I'm currently dealing with a custom board (proprietary 16-bit architecture) which does have pull-ups on the reset line. Most of my company's designs used this approach.

But I'm no hardware designer.


@Ozone wrote:

Of the OP's custom board, or a STM32 reference board ?ner.


The one provided by @KaushikChavda  in this post.

 


@Ozone wrote:

(proprietary 16-bit architecture) which does have pull-ups on the reset line. .


Of course, different architectures have different requirements - the STM32 docs are ST's specific recommendation for the STM32.

Again, it's not required for the STM32 but also generally not considered harmful - lots of people do, indeed, do it.

 

But the STM32 documentation recommends 0.1uf with just the ~40k internal pullup - so adding an external pullup of just 4k7 could well give a too-short reset pulse...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

 

We have replaced the MCU on two existing boards.

In the first board, no changes were made to the component values. In the second board, all the capacitors were implemented as per the datasheet recommendations.

Both boards are now functioning properly.

However, we plan to implement all the suggested design changes in the next revision.

At present, the issue in the current version is still open. We suspect that the problem is related to the MCU, and we are continuing to investigate to identify a proper solution.

We will keep you updated on further findings.

Have you looked at the NRST signals on a scope yet?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

I have implement the 47K pull-up and 0.1uf cap on NRST pin. But waveform is not captured. its goes to low, when button pressed. However I will check again.