This is the mail archive of the ecos-discuss@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: flash erase - network stack


On Mon, 2004-11-08 at 14:50, Nicolas Brouard wrote:
> The code I execute is in RAM.
> I can debug my code using RedBoot in FLASH with network debugging.
> I put breakpoints in the function ip_input (ip_input.c) and in the function
> icmp_input (ip_icmp.c)
> I ping my application (not RedBoot). GDB breaks on input and on icmp_input.
> I continue step by step then I go to icmp_reflect function, etc...
> If I do that during erasing flash, I have a SIGILL signal (Illegal
> instruction).

Precisely :-)  When you hit a breakpoint, single step or even just print
a message, you'll be executing RedBoot from the FLASH.  Once you start
the erase, execution is no longer possible and you'll get a trap.

The best solution is to run RedBoot in ROMRAM mode - where it never
actually executes from FLASH [directly].  An alternative would be to
disable interrupts during FLASH operations.

> 
> -----Original Message-----
> From: Gary Thomas [mailto:gary@mlbassoc.com]
> Sent: Monday, November 08, 2004 4:19 PM
> To: Nicolas Brouard
> Cc: eCos Discussion
> Subject: Re: [ECOS] flash erase - network stack
> 
> 
> On Mon, 2004-11-08 at 14:12, Nicolas Brouard wrote:
> > Hi,
> >
> > I have a problem with the Ethernet Stack (FreeBSD) during flash erasing.
> > My board is based on a MPC860. My application initializes the FreeBSD
> stack
> > and then erases several sectors of flash (2.5 Mo).
> > Everything is ok if there is no Ethernet traffic.
> > But, if I ping my board during flash erasing, the program scratches
> > immediately:
> > ... Erase from 0x7c3e0000-0x7c6247e4:
> > ........$T04thread:00000003;40:7c017eb0;01:000dc5d4;#24
> >
> > The flash driver I use is: amd/am29xxxxx variant am29lv640
> 
> It looks like you are trying to use (execute from) the FLASH while
> executing the erase.  You don't happen to be using RedBoot in FLASH
> with network debugging while running your code, do you?
> 
> --
> Gary Thomas <gary@mlbassoc.com>
> MLB Associates
> 
> 
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
> 
-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates


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


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