Hi everyone,
I've made some good progress getting my little VortexDX3/24DSI12 data acquisition system to run reliably for days, I found that using the "taskset" command to force one application (mt_logger) to run on one core, all the GUI stuff basically, and the other application (mt_adc) to run on the other core, helped a lot. Before using taskset the two applications would flip-flop back and forth across the cores and seemed to be contributing to the "mt_adc timeout error" (presumably due to buffer overflow) that I was seeing, my current record is a continuous run time of 39 hrs (with taskset), I had to turn it off before the big battery died.
Anyway, another factor (it seems) are the file sizes getting written out to the CF card, for the 39 hr run I had to turn down the (decimated) continuous file sample rate to 1 kHz such that the continuous files saved to disk were ~ 1.37 MBytes, with larger file sizes, 5 or 20 times larger, the program has run for "only" 19 hrs and 10 hrs respectively....
The VortexDX3 is also working hard to draw the screen updates (~ 30 % load on one core in top) but another factor (I think) are the file sizes, and finally the write speed I'm getting.
Right now my kernel (2.6.33.3) is limiting the write speed to the CF card to UDMA/33, I would like to increase this to UDMA/66 or UDMA/100 since the CF-card can definitely handle these speeds, hopefully the controller can too.
I've read some posts on other forums about setting an option in /etc/modprobe.conf --> options ide_core ignore_cable=0, but then also had to rebuild the initrd image?
Other post indicated you could use something like (in extlinux.conf??) --> libata force=80c
Just wondering if anyone has done this before (over-rode the kernel enforced UDMA/33) and if they might know the best way to go about doing it.
Thanks,
David