This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
RE: RFC - fix to at49xxxx crash during erase/program when interrupt happens
- From: "Koeller, T." <Thomas dot Koeller at baslerweb dot com>
- To: 'Øyvind Harboe' <oyvind dot harboe at zylin dot com>, 'eCos patches' <ecos-patches at sources dot redhat dot com>
- Date: Thu, 14 Aug 2003 13:07:35 +0200
- Subject: RE: RFC - fix to at49xxxx crash during erase/program when interrupt happens
I doubt that disabling interrrupts is a good solution, because
erasing flash blocks (especially bigger ones) can take rather
long, so you will most likely loose some.
Another solution that comes to my mind is to relocate interrrupt
handlers and DSRs to RAM using .2ram.* linker sections. This would
allow interrupts to continue while erasing flash blocks, if the
entire work is done in those handlers and no threads are involved.
This is still a severe limitation.
If at all posssible, I would try to build an application that needs
to erase or reprogram flash memory using the 'RAM' or 'ROMRAM'
startup types. I think that everything else can easily get messy.
tk
> -----Original Message-----
> From: Øyvind Harboe [mailto:oyvind.harboe@zylin.com]
> Sent: Thursday, August 14, 2003 12:54 PM
> To: 'eCos patches'
> Subject: RFC - fix to at49xxxx crash during erase/program
> when interrupt
> happens
>
>
> This fixes the crash when an interrupt happens during
> flash erase/program for applications running out of flash.
>
> Q: is eCos intended to support flash program/erase with interrupts
> enabled for appliactions running out of flash?
>
> Other:
>
> - I should perhaps have added some #if's to
> disable this code when the appliaction is running out of RAM.
> - Is it correct(i.e. a no-op) to invoke cyg_interrupt_disable/enable()
> for
> eCos configurations that do not have interrupts enabled?
>
> Øyvind
>
-----------------------------------------------
Thomas Koeller, Software Development
Basler Vision Technologies
An der Strusbek 60-62
22926 Ahrensburg
Germany
Tel +49 (4102) 463-390
Fax +49 (4102) 463-46390
mailto:Thomas.Koeller@baslerweb.com
http://www.baslerweb.com