Reply by George Crouse February 7, 20022002-02-07
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/
> >
> >
> >
>




Reply by Raymond Ranwez February 7, 20022002-02-07
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/ >