[ECOS] JFFS2 Access and interrupts

Bart Veer bartv@ecoscentric.com
Thu Sep 14 15:15:00 GMT 2006


>>>>> "Gernot" == Gernot Zankl <zankl@decomsys.com> writes:

    >> > FYI I finally found the/our bug, causing the application to
    >> > corrupt the jffs2. We just used the wrong block size in
    >> > the configuration of the underlying flash driver, causing to
    >> > erase too much flash memory (and destroying still active inodes).
    >> 
    >> FAOD - it had *nothing* to do with interrupts during FLASH operations?

    Gernot> At least not in "our" version of the flash driver (v1)
    Gernot> which has been provided and modified by Analogue&Micro,
    Gernot> where all calls to the critical functions are guarded by
    Gernot> the HAL_DISABLE_INTERRUPTS and HAL_RESTORES_INTERRUPTS
    Gernot> macros.

Of course that approach gives you an interrupt latency of somewhere
from several 100 milliseconds up to 5 seconds, depending on the exact
flash hardware and the environmental conditions. That is the time
needed to erase a whole flash sector. So any time you perform jffs2
file I/O your application may become completely unresponsive to all
external events for a number of seconds. It depends on the application
whether or not such behaviour is acceptable.

Bart

-- 
Bart Veer                       eCos Configuration Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list