Sign in

username:

password:



Not a member?

Search c54x



Search tips

Subscribe to c54x



c54x by Keywords

5409 | 5416 | AD5 | ADC | BIOS | Boot | Booting | Bootloader | C540 | C5402 | C5409 | C5416 | CCS | Codec | DMA | Dmad | DSK | DSKPlus | Dsplib | EVM | FFT | FIR | Flash | GPIO | HPI | Initialization | Interrupt | JTAG | LOG_printf | MCBSP | RFFT | RTDX | Sampling | STLM | UART | VC540

Discussion Groups

Discussion Groups | TMS320C54x | Fw: Booting 5410 from Flash

Technical discussions about the TI C54x DSPs (including the c5401, c5402, c5402a, c5404, c5407, c5409, c5409a, c5410, c5410a, c5416, c5420, c5421, c5441, c549, c5470 and c5471).

  

Post a new Thread

Fw: Booting 5410 from Flash - Raymond Ranwez - Feb 8 17:53:00 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
> > > >
> > > >
> > > >
> > > > _____________________________________
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>




(You need to be a member of c54x -- send a blank email to c54x-subscribe@yahoogroups.com )