This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]