Hi all,
SETUP:
I have a 7800 board running the latest release from TS (10/10/2008).
My app runs on the board as a daemon utilizing the serial port (ttts4)
for data acquisition, the ethernet port for client connections, and
the SD card for writing data.
PROBLEM DESCRIPTION:
I am experiencing a lockup after several hours of running the board
with our application. By lockup, I mean, cannot login through console,
ssh, does not respond to our TCP client app. I have a script which
runs once a minute and logs out several performance indicators (mem
usage, cpu, open file handles, context switch delta, file system
usage, etc.).
DETAILS:
Interestingly, when the system locks up, there is a gap in the stats
file. There is also have a gap in the data that is being acquired. I'm
not sure if the system cannot acquire data, or cannot log it to the SD
card, or both. It seems like there is a failure in the file IO layer
in the OS.
POSSIBLE CAUSES:
I have a couple of ideas as to what is causing the lockup.
1. There is a livelock occurring between the serial and SD card driver
(w/DMA).
2. Voltage dips (I doubt this, because our app still feeds the
watchdog for several hours after the lockup before it finally dies and
the card reboots)
QUESTIONS:
Is anyone else doing a data-logger type app, where a tttsX serial port
and the SD card are being hammered? Have you had any similar issues?
Does the serial port on COM3 use a 16 byte buffer? Or is it
interrupting the CPU for every byte?
Thanks!
Rob