|
Hi all,
This may not strictly be MicroBlaze specific, but
maybe there's someone dealing with uClinux that has come across a techique
applicable to my issue:
We have a SystemAce CardFlash with a single FAT
partition. Our custom board gives an interrupt when the AC power begins to
fail, allowing us at least 20ms of time before on-board power begins to go
away. I'm trying to find a reliable way to flush anything that might be in
uClinux's buffers to the CardFlash when we get that interrupt.
I believe sync() does what we want, but I'm having
issues getting there fast enough. We catch the power fail interrupt just
fine. Then we throw a signal that gets caught by a handler in our
application. Our application priority has been set so we catch the signal
reliably quickly in the handler, and so far we're running less than 1ms into our
available time.
But it seems like the call to sync() does not
return reliably in the time available, even if we know there is
nothing pending to write to the CardFlash.
I don't know if I've chosen a silly way of doing
this, or if there is some other side-effect or function of sync() that might be
taking the time.
Any and all thoughts appreciated.
Thanks,
Jim
Please note that Iris Power LP Canada has relocated
its Toronto operation to 3110 American Drive, Mississauga L4V 1T2, right next to
the Toronto airport. Our new phone number is 905-677-4824 and our new fax number
is 905-677-8498. For further details please visit our website at www.irispower.com
|