Marco,
If it were me, I would (at least initially) suspect the Ethernet
driver.
Are you buffering packets at the driver level on input? Is it
possible that your buffer is being overrun due to bursts of broadcast packets
or something similar?
I recommend that you 1) enable all the debug and statistics
options in the lwIP stack; and 2) use Wireshark to capture the network traffic
so when it happens again you can examine the actual activity that led to the
reboots for clues to the reason.
I had a similar issue early in my product development; it turned
out that a bug in the Ethernet driver task (in a section of code designed to
handle overruns) created a hole where a packet arriving exactly between two
instructions corrupted a linked list and led to an address exception/crash.
Hope this helps.
From:
address@hidden
[mailto:address@hidden On Behalf Of Marco
Jakobs
Sent: Tuesday, June 22, 2010 3:56 PM
To: address@hidden
Subject: [lwip-users] Windows 7 Startup crashes LwIP and Free RTOS
Hi all,
i have noticed a really strange effect here. On my "home control
project" i actually have 4 devices with Free RTOS and LwIP 1.31 running.
They are communicating together over a Ethernet Switch, which is also connected
to my home network. The system is running 24/7 in a test here on my desk, did
it weeks without problems.
Suddenly, 3 weeks ago i saw reboots of some devices in their protocol logs (i
worked not on the firmware at this time, so no change appeared to the system).
These reboots were happening sometimes on a single device, but also on more
than one device at the same time. The strange was: It never appeared when i was
away from home.
Counting one and one together, it really started after i teared my PCs down and
made a new setup with Windows 7 (instead of XP). Next, in most cases the
restarts occured when i've switched on my computer (in startup phase), in rare
cases when it is running, but never when it is off.
Today i noticed a reset of all 4 devices exactly at the same time (the
RTC's of the devices are synchronized). My Watchdog reports me a complete crash
of >80% of the tasks, so something teared down the whole RTOS. It was no
power problem, it was a software crash. As the devices are completely
independent, the exact parrallel crash points again to "something from
outside". Of course my PC was running.
There seems to be something caused by WIN7 over the ethernet spread to all
devices (Broadcast, Multicast), maybe putting LwIP in an indefinite loop (it
has a higher task priority in Free RTOS here, so in this case it may stop lower
priority tasks from operating, causing the SW watchdog failure). As my watchdog
task has the highest priority of all task and this task did never crash, it may
be an argument for that.
Sorry that i have no more information at this time, but i just want to point to
this and ask in the round if anybody has seen something like this here. I may
put my notebook here to the debug port of one of the devices to maybe catch
some more information (i.e. an assert message) when this happens to get closer
on this.
Any ideas or "you have to try" 's are highly welcome.
Kind regards
Marco