cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F746ZG STM32F767ZI unexpected, unwanted Reset

Joerg Wagner
Senior III
Posted on February 03, 2017 at 17:20

I use NUCLEO-F746 and NUCLEO-767, CubeMX 4.19 with FreeRTOS and LWIP.

No Watchdog, enough space for sprintf() stack behaviour and SRAM1 only.

DC power comes from a DCDC 24/5V converter, super clean, monitored by Oscilloscope.

My software performs a Reset approx. one time in an hour, but no NVIC_SystemReset command is in the code.

I adopted the project on the NUCLEO-767ZI board, same result. The board is connected

to my peripheral board for signal conditioning, every signal is isolated with a digital isolator.

A FRAM is used to keep track of the 'Reset' counts.

First I thought there are just 3 ways only to reset a controller.

Any ideas? I appreciate any help. Thank you.

14 REPLIES 14
Posted on February 19, 2017 at 10:46

Like I wrote in the description: My board is powered with an isolated DCDC converter.

In addition: Every SPI channel has an DCDC signal isolator, I/O's are isolated as well.

CAN is not used on this board but prepared with an isolated transceiver.

So I do not have a common ground and everything is isolated.

Posted on February 19, 2017 at 11:18

Just offering obscure ideas for you...

I noticed it, on the scope and thought of your issue...

Are you using Jtag or Swo connected to a PC whilst you are running the test ?

If you have the scope connected you have one ground path there, and if you have Jtag connected, thats another ground path.

is the scope plugged into a power board ?

and the PC on the same power board ?

what else is on the power board ?

is that power board connected directly to a power point ? or to another power board ?

if can you trigger on the 3v3 line at 2V, you may find your problem. set the timebase to 10nS per division, let it run for a few hours.

It doesn't hurt to check the not so obvious, since your issue seems catastrophic.

Posted on February 20, 2017 at 10:51

The device is installed in industrial environment: 24 Volts and no PC or scope are connected.

And I'm convinced to find the reason in software, not hardware.

Posted on February 22, 2017 at 12:42

There are no unexpected resets anymore, monitored in 48 hours.

I use my own sprintf/sscanf, each thread has its own function to avoid reentrance and memory management issues.

MTU size is downsized from 1400 to 536 Bytes like the TCP_MSS in LWIP 2.0.0 (CubeMX 4.19), similar to MBED.

Joerg Wagner
Senior III
Posted on February 07, 2018 at 23:52

Using FreeRTOS functions gives a detail overview of free space. Memory overflow causes unwanted effects.