DSPRelated.com
Forums

Booting via MCBSP C6713

Started by Dave November 14, 2005
Hi All,

Is it resonable to be able to run a bootloader that recives data via
the MCBSP, copies that data into external ram and then runs it?

Would I have to process the .out file in any way or can I just load the
whole file?

Does anyone understand what I'm trying to do and can fill in the gaps?
or point me at a similar example?

Regards,
Dave



Hi,

Dave wrote:

> Hi All,
>
> Is it resonable to be able to run a bootloader that recives data via
> the MCBSP, copies that data into external ram and then runs it?
>
I hope it is, because I did it myself. Although I write it into a ext.
Flash. I use MCBSP as a UART.

> Would I have to process the .out file in any way or can I just load the
> whole file?

I use the hexconf utility to generate hex files. But I'm not sure if its
necessary in your case.

>
> Does anyone understand what I'm trying to do and can fill in the gaps?
> or point me at a similar example?

The question is where is your boot loader code located? In an ext. ROM?

What is on the other side of the of the McBSP? Is it always connected?

Gustl


Hi Dave,

why don't you store the code to run in the flash too? So would need only
a monitor to install new SW.

I had years ago a Motorola DSP which booted from a 8051 via I2C. But the
DSP was able to boot via I2C and so I didn't need a Flash for the DSP.

Regards,

Gustl

Dave wrote:
> Hi Gustl,
> The loader will be located in Flash, on the other side of the MCBSP
> is an ARM which will be connected all the time.
>
> Thanks,
> Dave > --- In c6x@c6x@..., "Bernhard 'Gustl' Bauer" <gustl@q...>
> wrote:
>
>>Hi,
>>
>>I hope it is, because I did it myself. Although I write it into a
>
> ext.
>
>>Flash. I use MCBSP as a UART.
>>
>>I use the hexconf utility to generate hex files. But I'm not sure
>
> if its
>
>>necessary in your case.
>>
>>The question is where is your boot loader code located? In an ext.
>
> ROM?
>
>>What is on the other side of the of the McBSP? Is it always
>
> connected?
>
>>Gustl
>




Hi Gustl,

It's been decieded that the boot loader and as you say a monitor are to
be the only things loaded in flash at production.
Then each time an application is loaded as required via the MCBSP.

why they only gave 1K for the boot is a bit silly, 64K would of been
better! So I have to have several layers of loading and running. Cheers,
Dave


Hello Dave,

At least you have a boot [short for 'bootstrap']
function :-)

It should not be too difficult to copy as much Flash
as you want to RAM in a couple of hundred
instructions. Or, if you have 'all day', just jump to
Flash.

mikedunn

--- Dave <gsicarlton@gsic...> wrote:

> Hi Gustl,
>
> It's been decieded that the boot loader and as you
> say a monitor are to
> be the only things loaded in flash at production.
> Then each time an application is loaded as required
> via the MCBSP.
>
> why they only gave 1K for the boot is a bit silly,
> 64K would of been
> better! So I have to have several layers of loading
> and running. > Cheers,
> Dave >
>
> c6x-unsubscribe@c6x-...




Hi all,

Ok, so I have my code which gets written into Flash at offset 0x0, it
configures the PLL, EMIF then copies from a source address in flash
to a destination address in SDRAM. The bootstrap code is under 1K...

Question:
How do I step through it using a JTAG debugger, can I?

Thanks,
Dave --- In c6x@c6x@..., Mike Dunn <mike-dunn@s...> wrote:
>
> Hello Dave,
>
> At least you have a boot [short for 'bootstrap']
> function :-)
>
> It should not be too difficult to copy as much Flash
> as you want to RAM in a couple of hundred
> instructions. Or, if you have 'all day', just jump to
> Flash.
>
> mikedunn
>
> --- Dave <gsicarlton@y...> wrote:
>




Dave,

see comments below.

mikedunn

--- Dave <gsicarlton@gsic...> wrote:

> Hi all,
>
> Ok, so I have my code which gets written into Flash
> at offset 0x0, it
> configures the PLL, EMIF then copies from a source
> address in flash
> to a destination address in SDRAM. The bootstrap
> code is under 1K...
>
> Question:
> How do I step through it using a JTAG debugger, can
> I?
One wayto accomplish this.

Perform a 'Debug->CPU Reset'. At this point your boot
sector should be copied into RAM and the PC should be
at 0. Just start stepping - or set a BP and run.
Note:
To use this method, it assumes that your hardware
enables the boot mode pins by biasing the bus with
pullup/pulldown resistors. If the boot confiuration
is generated by an FPGA and gated with reset, let us
know and we will try 'plan B'.

>
> Thanks,
> Dave > --- In c6x@c6x@..., Mike Dunn
> <mike-dunn@s...> wrote:
> >
> > Hello Dave,
> >
> > At least you have a boot [short for 'bootstrap']
> > function :-)
> >
> > It should not be too difficult to copy as much
> Flash
> > as you want to RAM in a couple of hundred
> > instructions. Or, if you have 'all day', just
> jump to
> > Flash.
> >
> > mikedunn
> >
> > --- Dave <gsicarlton@y...> wrote:
> >
> c6x-unsubscribe@c6x-...




Dave-

> > Ok, so I have my code which gets written into Flash
> > at offset 0x0, it
> > configures the PLL, EMIF then copies from a source
> > address in flash
> > to a destination address in SDRAM. The bootstrap
> > code is under 1K...
> >
> > Question:
> > How do I step through it using a JTAG debugger, can
> > I?
> One wayto accomplish this.
>
> Perform a 'Debug->CPU Reset'. At this point your boot
> sector should be copied into RAM and the PC should be
> at 0. Just start stepping - or set a BP and run.
> Note:
> To use this method, it assumes that your hardware
> enables the boot mode pins by biasing the bus with
> pullup/pulldown resistors. If the boot confiuration
> is generated by an FPGA and gated with reset, let us
> know and we will try 'plan B'.

Ah, reset while JTAG is active. You are entering the land of gotchas. I suggest you
read this first, "TMS320C6000 Boot Mode and Emulation Reset":

http://focus.ti.com/lit/an/spra978/spra978.pdf

-Jeff > > --- In c6x@c6x@..., Mike Dunn
> > <mike-dunn@s...> wrote:
> > >
> > > Hello Dave,
> > >
> > > At least you have a boot [short for 'bootstrap']
> > > function :-)
> > >
> > > It should not be too difficult to copy as much
> > Flash
> > > as you want to RAM in a couple of hundred
> > > instructions. Or, if you have 'all day', just
> > jump to
> > > Flash.
> > >
> > > mikedunn
> > >
> > > --- Dave <gsicarlton@y...> wrote:



aaaahhhhhhh....

Fantastic, thank you very much I'm now booting in a way that I
understand, just gotta get the main application in via the McBSP
findout how to find where to start running from!

Many thanks,
Dave --- In c6x@c6x@..., Jeff Brower <jbrower@s...> wrote:
>
> Dave-
>
> > > Ok, so I have my code which gets written into Flash
> > > at offset 0x0, it
> > > configures the PLL, EMIF then copies from a source
> > > address in flash
> > > to a destination address in SDRAM. The bootstrap
> > > code is under 1K...
> > >
> > > Question:
> > > How do I step through it using a JTAG debugger, can
> > > I?
> > One wayto accomplish this.
> >
> > Perform a 'Debug->CPU Reset'. At this point your boot
> > sector should be copied into RAM and the PC should be
> > at 0. Just start stepping - or set a BP and run.
> > Note:
> > To use this method, it assumes that your hardware
> > enables the boot mode pins by biasing the bus with
> > pullup/pulldown resistors. If the boot confiuration
> > is generated by an FPGA and gated with reset, let us
> > know and we will try 'plan B'.
>
> Ah, reset while JTAG is active. You are entering the land of
gotchas. I suggest you
> read this first, "TMS320C6000 Boot Mode and Emulation Reset":
>
> http://focus.ti.com/lit/an/spra978/spra978.pdf
>
> -Jeff > > > --- In c6x@c6x@..., Mike Dunn
> > > <mike-dunn@s...> wrote:
> > > >
> > > > Hello Dave,
> > > >
> > > > At least you have a boot [short for 'bootstrap']
> > > > function :-)
> > > >
> > > > It should not be too difficult to copy as much
> > > Flash
> > > > as you want to RAM in a couple of hundred
> > > > instructions. Or, if you have 'all day', just
> > > jump to
> > > > Flash.
> > > >
> > > > mikedunn
> > > >
> > > > --- Dave <gsicarlton@y...> wrote:
>