Hi,
I have similar problems with SanDisk CF cards on an Advantech pc/104
embedded PC.
I suspect this is caused by some form of buffering in the CF card to
minimisize the number of write operations as each card only supports a
finite number of block erases in its lifetime. This may be nonsense
though…
Anyway, on my development system I avoid any corruption problems by
unmounting the disk and performing a proper shutdown before cycling the
power.
On the target hardware I mount the CF card partitions read only as the
application doesn’t require write access.
If you must have write access on your target use a seperate partition for
reading / writing data and store the application on a read only partition.
That way, if you lose some data you at least haven’t corrupted your code!!!
Again, if your data is mission critical this approach is not going to cut it
either.
It seems from my limited research that there is no 100% way to ensure a
write enabled partition on a CF card will never be corrupted without the use
of a UPS of some sort.
Hope this is useful,
Liam.
“Harry Qualls” <hfq@tree-d.com> schrieb im Newsbeitrag
news:99advo$c8g$1@inn.qnx.com…
We use an Advantech single board CPU card on which we install a 48M
compact
flash chip. The chip appears as the primary drive on the secondary IDE
channel. QNX 4.25 is installed along with Photon 1.14. Once everything is
installed, the “disk” appears to retain its content, however, a power
outage
has caused files to become corrupted (pdm.cfg, sysinit). Furthermore,
using
vedit to edit any file on the flash disk produces a final edited file
containing nothing but "N"s (probably the fill character used when the
disk
is created).
We suspect that either Fsys.eide or the flash bios is misbehaving. Has
anyone experienced this phenomenon and found the solution? Until then
we’re
back to installing hard drives although using as 10G hard disk where a 48M
flash chip would do seems a bit ridiculous.