2017-02-03 08:20 AM
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.
Solved! Go to Solution.
2017-02-19 02:46 AM
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.
2017-02-19 03:18 AM
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.
2017-02-20 02:51 AM
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.
2017-02-22 04:42 AM
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.
2018-02-07 02:52 PM
Using FreeRTOS functions gives a detail overview of free space. Memory overflow causes unwanted effects.