DSPRelated.com
Forums

Fw: Booting 5410 from Flash

Started by Raymond Ranwez February 8, 2002
George,

I did read the SPRA618 a few times, but I missed the point concerning the
reading of the address in 8 bits.
But (and you mention it) the information was there...

Thank you for your very clear, complete, and helpful answer.

Raymond

> ----- Original Message -----
> From: "George Crouse" <>
> To: "Raymond Ranwez" <>; <>
> Sent: Thursday, February 07, 2002 6:19 PM
> Subject: Re: [c54x] Booting 5410 from Flash > > Raymond-
> >
> > The parallel boot mode uses a boot table mapped into ext data space,
i.e.
> 0x4000-FFFF. To
> > get the address of the table it first reads I/O space at 0xFFFF, and if
> unsuccessful,
> > reads Data space at 0xFFFF and 0xFFFE. It's looking for an address
which
> contains the
> > boot table "signature" 0x10AA or 0x08AA. Check out SPRA618 if you
haven't
> yet.
> >
> > So the answer is you have to have a boot vector at 0xFFFE-FFFF in Data
or
> I/O space which
> > points to your boot table. Easiest thing with a single ROM/Flash is
just
> make sure it
> > covers addresses 0xFFFE/FFFF. For example a 32K x 8 mapped at
0x8000-FFFF
> could contain
> > the boot vector, the boot table, and code to load at boot time.
> >
> > Of course TI with their infinite wisdom decides that boot vector and
table
> should reside
> > in data space, while the loadable code is in program space! So either
you
> map the flash
> > to both and cut into the space you'd like to put RAM, or you use a GPIO
or
> some other
> > method to switch the _DS / _PS lines after boot. In other words: at
boot
> time, your flash
> > exists in data and program space (so it can read the boot stuff and
code)
> leaving ext RAM
> > unmapped; after boot you set the bit so the flash exists in program
space
> only and RAM is
> > in data space. You pretty much get the impression TI never tried to use
> parallel boot
> > mode...
> >
> > Or you skip this nonsense, disable TI's ROM while mumbling a few
> obscenities, then write
> > your own loader like I did.
> >
> > -George
> >
> >
> >
> > ----- Original Message -----
> > From: Raymond Ranwez <>
> > To: <>; George Crouse <>
> > Sent: Thursday, February 07, 2002 9:31 AM
> > Subject: Re: [c54x] Booting 5410 from Flash
> >
> >
> > > Hi George,
> > >
> > > I have just one question: how do you give the hardware address of the
> flash
> > > memory do the DSP at boot (the flash address is the data that will be
> read
> > > by the DSP at address 0xFFFF).
> > > Do you use special hardware for that (like driver chips)?
> > > (I think that you don't need such special hardware if you use 16-bit
> flash
> > > memory, if the flash is also mapped in memory up to 0xFFFF. But you
and
> I
> > > use 8-bit flash)
> > >
> > > Raymond Ranwez
> > >
> > > ----- Original Message -----
> > > From: "George Crouse" <>
> > > To: <>
> > > Sent: Tuesday, February 05, 2002 5:25 PM
> > > Subject: Re: [c54x] Booting 5410 from Flash
> > >
> > >
> > > > You need to tell it you want to use the bootloader by specifying
> the -boot
> > > option in your
> > > > command file; either by itself (default) to load everything- or by
> > > individually naming
> > > > sections you want it to load. Here's one of mine from a 5402
project
> > > using 8b wide
> > > > parallel PROM; you can adjust for your memory or if there are CPU
> > > differences. Remember
> > > > to get the C code entry point!
> > > >
> > > > dsp3_run.out /* input COFF file */
> > > > -o DSP3.hex /* output file name */
> > > > -a /* ASCII hex format */
> > > >
> > > > -boot /* bootload all sections */
> > > > -bootorg PARALLEL /* external mem on main bus */
> > > >
> > > > -memwidth 8 /* 8bit wide memory, using */
> > > > -romwidth 8 /* single byte-wide EPROM */
> > > >
> > > > -e 0x06C7 /* C code entry point, check
.map
> file
> > > for address */
> > > >
> > > >
> > > >
> > > >
> > > > > From: "Santosh M Nadig" <>
> > > > > Subject: Booting 5410 from flash
> > > > >
> > > > > Hello all,
> > > > >
> > > > > I have a problem with booting 5410 from Flash (two 8-bit flash.
one
> for
> > > > > upper 8 bits and other for the lower 8 bits). The bootloader
> document
> > > says
> > > > > that the bootloader reads 0FFFF location of I/O or Data memory to
> find a
> > > > > valid keyword (10AA or 08AA). But, When I use the hex-conversion
> utility
> > > > > (hex500) how do I specify that?? If anyone has a sample command
file
> for
> > > > > hex500 please send it to me.
> > > > >
> > > > > Thanks
> > > > > Santosh
> > > >
> > > >
> > > >
> > > > _____________________________________
> > > > Note: If you do a simple "reply" with your email client, only the
> author
> > > of this message will receive your answer. You need to do a "reply
all"
> if
> > > you want your answer to be distributed to the entire group.
> > > >
> > > > _____________________________________
> > > > About this discussion group:
> > > >
> > > > To Join: Send an email to
> > > >
> > > > To Post: Send an email to
> > > >
> > > > To Leave: Send an email to
> > > >
> > > > Archives: http://www.yahoogroups.com/group/c54x
> > > >
> > > > Other Groups: http://www.dsprelated.com
> > > >
> > > >
> > > > ">http://docs.yahoo.com/info/terms/
> > > >
> > > >
> > > >
> > >
> >
> >
>