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: eb40a target submitted


James,

Point well taken.  I looked further into the problem last night (since I
turned my eb40a into a brick), and there is no easy solution.  I don't
really like the design of the ecos io/flash code since it seems to want
to know things like sector sizes and such.  I would prefer it not know
anything and just let the low level driver handle issues like trying to
write across sectors.  That way my driver could have handled the two
planes more easily.  As it is, I would have to change the way io/flash
works and I'm not going to do that.  I don't intend on using these
FLASH parts on my final system.

-tim


On Tuesday 23 July 2002 01:40 pm, James wrote:
> 512K bytes out of 2Mbytes doesn't seem so small to me to ignore.  But
> just
> the fact that you got it working is wonderful!
> (In the below, loaddr = 0x01000000 and hiaddr = 0x01100000)
> If you load/run Redboot ROMRAM at hiaddr why would you
> want to flash it at loaddr?  Why doesn't it just overwrite
> itself at hiaddr?  If you have linked Redboot at
> loaddr, would it be possible to change it to hiaddr? Perhaps that
> would solve the problem?
> Also, I didn't think it mattered to Redboot were the program
> was linked.  You can load the program into RAM, then program it
> into flash at hiaddr.
> James
>
> > -----Original Message-----
> > From: Tim Drury [mailto:tdrury@siliconmotorsports.com]
> > Sent: Monday, July 22, 2002 7:29 PM
> > To: ecos-discuss@sources.redhat.com
> > Subject: Re: [ECOS] eb40a target submitted
> >
> >
> >
> > Another note that I forgot about:
> >
> > The FLASH on the eb40a is Atmel AT49xxxx which Jani
> > graciously gave the source code to me.  The AT49 FLASH
> > is divided into two planes (smaller A and larger B).  Because
> > the drivers assume equal sized sectors I simply ignored the
> > A plane.  This is a large FLASH device and plane A is pretty
> > small - besides Angel is burned into it.
> >
> > This has a side effect.  Assume the FLASH is mapped to
> > 0x01000000.  Plane A goes up to 0x01010000 -1 bytes
> > so I told the driver that this section is unusable.  When you
> > load redboot_ROMRAM into 0x01100000 (the upper half
> > of flash), you cannot have it load a new version of redboot
> > on top of itself like you can with the EB40 and its more sane
> > FLASH.  This is because when the redboot_ROMRAM is
> > mapped down to 0x01000000 by setting the onboard jumper,
> > you cannot tell the redboot running in RAM to burn the new
> > redboot image file into 0x01000000 because the driver considers
> > that address unusable.
> >
> > So if you want to load a new version of redboot_ROMRAM, you
> > have to first load up the RAM version of redboot via Angel,
> > then run the RAM version of redboot to load the ROMRAM
> > version of redboot.
> >
> > Ah well.  Perhaps someone can figure out how to make the
> > AT49 FLASH work with its differing sector sizes.
> >
> > -tim


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


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