Sign in

username:

password:



Not a member?

Search c55x



Search tips

Subscribe to c55x



c55x by Keywords

AIC23 | C5509 | CCS | CSL | EMIF | EVM | GEL | GPIO | HPI | Interfacing | JTAG | McBSP | OMAP | Omap15 | OMAP59 | RTDX | SDRAM | TMS320VC5509 | USB | XDS5

Discussion Groups

Discussion Groups | TMS320C55x | 5509/bios issue running code off chip

Technical discussions about the TI C55x DSPs (including the c5501, c5502, c5503, c5507, c5509, c5510 and OMAP5910).

  

Post a new Thread

5509/bios issue running code off chip - peejayblack - May 30 15:35:00 2004



Hello Everyone,

I'm working with the 5509 and am trying to run code off chip.
I want to run my code out of an external flash. I locate time
critical code on chip and swap as needed. The code I run out of
flash is user interface etc. We have to accommodate five languages
so it takes up lots of space. I've done this on the 5409 with no
problems, but on this project I'm having problems. This may be
due to my using the DSP Bios on this project. I have not used it in
my other projects so I am new to it. So far I have just switched to
large memory model, switched to the large library, and set up so the
user code text locates into the proper CE space. I've replaced my
flash with a static ram (Same foot print) and have verified that I
can read and write to it. My program compiles fine and seems to load
ok though the emulator into the external ram. When I try to run the
program it seems to hang on the bios initialization. If I set the
user code text to run on chip the program runs fine.

So I'm asking the throbbing cumulative brain of c55 experts out
there if they have any ideas as to what I'm missing. I welcome
any suggestions I've spent a 2 days on this, and hate to spend any
more time without asking since its probably a obvious oversight on
my part.

Thanks,
PeeJayBlack





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

Re: 5509/bios issue running code off chip - Jeff Brower - May 31 0:19:00 2004

PeeJay-

Why would you not locate DSP/BIOS code in onchip mem? It's not a large amount.
Would you not have to do this anyway, when you reach the point of EEPROM boot
vs.
emulator load? You will have to boot something to run, that something should
include
BIOS initialization and any other low-level initialization.

My experience has been: a) keep anything that occurs prior to void main() in
onchip
mem, and b) put low-level code in place using a boot mechanism, either onchip
bootloader or other method such as external logic that loads code via HPI.
Once you
reach main(), then you are free to locate code and mix/match memory spaces as
needed.

We have to support a wide range of TI DSPs here, and that has been our standard
method for C5xxx and C6xxx series.

-Jeff

peejayblack wrote:
>
> Hello Everyone,
>
> I'm working with the 5509 and am trying to run code off chip.
> I want to run my code out of an external flash. I locate time
> critical code on chip and swap as needed. The code I run out of
> flash is user interface etc. We have to accommodate five languages
> so it takes up lots of space. I've done this on the 5409 with no
> problems, but on this project I'm having problems. This may be
> due to my using the DSP Bios on this project. I have not used it in
> my other projects so I am new to it. So far I have just switched to
> large memory model, switched to the large library, and set up so the
> user code text locates into the proper CE space. I've replaced my
> flash with a static ram (Same foot print) and have verified that I
> can read and write to it. My program compiles fine and seems to load
> ok though the emulator into the external ram. When I try to run the
> program it seems to hang on the bios initialization. If I set the
> user code text to run on chip the program runs fine.
>
> So I'm asking the throbbing cumulative brain of c55 experts out
> there if they have any ideas as to what I'm missing. I welcome
> any suggestions I've spent a 2 days on this, and hate to spend any
> more time without asking since its probably a obvious oversight on
> my part.
>
> Thanks,
> PeeJayBlack






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

Re: 5509/bios issue running code off chip - peejayblack - May 31 13:26:00 2004

Jeff,

Thanks for the reply. Yes thats what I think I'm
trying to do. I have the bios set to run on chip
then you have choices as to where user code is
run. Just as a start I selected user .text
to run off chip, and it hangs on the bios initalization.
They allow you to use your own cmd file as well to locate
user code but scanning the cmd file they generate I can
see no issues.

PeeJayBlack --- In , Jeff Brower <jbrower@s...> wrote:
> PeeJay-
>
> Why would you not locate DSP/BIOS code in onchip mem? It's not a
large amount.
> Would you not have to do this anyway, when you reach the point of
EEPROM boot vs.
> emulator load? You will have to boot something to run, that
something should include
> BIOS initialization and any other low-level initialization.
>
> My experience has been: a) keep anything that occurs prior to
void main() in onchip
> mem, and b) put low-level code in place using a boot mechanism,
either onchip
> bootloader or other method such as external logic that loads code
via HPI. Once you
> reach main(), then you are free to locate code and mix/match
memory spaces as
> needed.
>
> We have to support a wide range of TI DSPs here, and that has been
our standard
> method for C5xxx and C6xxx series.
>
> -Jeff
>
> peejayblack wrote:
> >
> > Hello Everyone,
> >
> > I'm working with the 5509 and am trying to run code off chip.
> > I want to run my code out of an external flash. I locate time
> > critical code on chip and swap as needed. The code I run out of
> > flash is user interface etc. We have to accommodate five
languages
> > so it takes up lots of space. I've done this on the 5409 with no
> > problems, but on this project I'm having problems. This may be
> > due to my using the DSP Bios on this project. I have not used it
in
> > my other projects so I am new to it. So far I have just switched
to
> > large memory model, switched to the large library, and set up so
the
> > user code text locates into the proper CE space. I've replaced my
> > flash with a static ram (Same foot print) and have verified that
I
> > can read and write to it. My program compiles fine and seems to
load
> > ok though the emulator into the external ram. When I try to run
the
> > program it seems to hang on the bios initialization. If I set the
> > user code text to run on chip the program runs fine.
> >
> > So I'm asking the throbbing cumulative brain of c55 experts out
> > there if they have any ideas as to what I'm missing. I welcome
> > any suggestions I've spent a 2 days on this, and hate to spend
any
> > more time without asking since its probably a obvious oversight
on
> > my part.
> >
> > Thanks,
> > PeeJayBlack




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

Re: Re: 5509/bios issue running code off chip - Jeff Brower - Jun 1 0:18:00 2004

PeeJay-

> Thanks for the reply. Yes thats what I think I'm
> trying to do. I have the bios set to run on chip
> then you have choices as to where user code is
> run. Just as a start I selected user .text
> to run off chip, and it hangs on the bios initalization.
> They allow you to use your own cmd file as well to locate
> user code but scanning the cmd file they generate I can
> see no issues.

I'm not sure what you mean. Can you single step until void main() ? If not,
then
what exactly is the last valid code before control is lost?

My approximate guess is that something happens in auto_init() or bios_init()
functions. But you have to get in there to verify.

-Jeff > --- In , Jeff Brower <jbrower@s...> wrote:
> > PeeJay-
> >
> > Why would you not locate DSP/BIOS code in onchip mem? It's not a
> large amount.
> > Would you not have to do this anyway, when you reach the point of
> EEPROM boot vs.
> > emulator load? You will have to boot something to run, that
> something should include
> > BIOS initialization and any other low-level initialization.
> >
> > My experience has been: a) keep anything that occurs prior to
> void main() in onchip
> > mem, and b) put low-level code in place using a boot mechanism,
> either onchip
> > bootloader or other method such as external logic that loads code
> via HPI. Once you
> > reach main(), then you are free to locate code and mix/match
> memory spaces as
> > needed.
> >
> > We have to support a wide range of TI DSPs here, and that has been
> our standard
> > method for C5xxx and C6xxx series.
> >
> > -Jeff
> >
> > peejayblack wrote:
> > >
> > > Hello Everyone,
> > >
> > > I'm working with the 5509 and am trying to run code off chip.
> > > I want to run my code out of an external flash. I locate time
> > > critical code on chip and swap as needed. The code I run out of
> > > flash is user interface etc. We have to accommodate five
> languages
> > > so it takes up lots of space. I've done this on the 5409 with no
> > > problems, but on this project I'm having problems. This may be
> > > due to my using the DSP Bios on this project. I have not used it
> in
> > > my other projects so I am new to it. So far I have just switched
> to
> > > large memory model, switched to the large library, and set up so
> the
> > > user code text locates into the proper CE space. I've replaced my
> > > flash with a static ram (Same foot print) and have verified that
> I
> > > can read and write to it. My program compiles fine and seems to
> load
> > > ok though the emulator into the external ram. When I try to run
> the
> > > program it seems to hang on the bios initialization. If I set the
> > > user code text to run on chip the program runs fine.
> > >
> > > So I'm asking the throbbing cumulative brain of c55 experts out
> > > there if they have any ideas as to what I'm missing. I welcome
> > > any suggestions I've spent a 2 days on this, and hate to spend
> any
> > > more time without asking since its probably a obvious oversight
> on
> > > my part.
> > >
> > > Thanks,
> > > PeeJayBlack > _____________________________________ >
> Yahoo! Groups Links





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

Re: 5509/bios issue running code off chip - peejayblack - Jun 1 16:12:00 2004


Hello Jeff,

The crash occurs in "_BIOS_init:".
It locks hard even crashes CCS.

Thanks in advance for any ideas

Peejayblack

--- In , Jeff Brower <jbrower@s...> wrote:
> PeeJay-
>
> > Thanks for the reply. Yes thats what I think I'm
> > trying to do. I have the bios set to run on chip
> > then you have choices as to where user code is
> > run. Just as a start I selected user .text
> > to run off chip, and it hangs on the bios initalization.
> > They allow you to use your own cmd file as well to locate
> > user code but scanning the cmd file they generate I can
> > see no issues.
>
> I'm not sure what you mean. Can you single step until void main() ?
If not, then
> what exactly is the last valid code before control is lost?
>
> My approximate guess is that something happens in auto_init() or
bios_init()
> functions. But you have to get in there to verify.
>
> -Jeff > > --- In , Jeff Brower <jbrower@s...> wrote:
> > > PeeJay-
> > >
> > > Why would you not locate DSP/BIOS code in onchip mem? It's not a
> > large amount.
> > > Would you not have to do this anyway, when you reach the point of
> > EEPROM boot vs.
> > > emulator load? You will have to boot something to run, that
> > something should include
> > > BIOS initialization and any other low-level initialization.
> > >
> > > My experience has been: a) keep anything that occurs prior to
> > void main() in onchip
> > > mem, and b) put low-level code in place using a boot mechanism,
> > either onchip
> > > bootloader or other method such as external logic that loads code
> > via HPI. Once you
> > > reach main(), then you are free to locate code and mix/match
> > memory spaces as
> > > needed.
> > >
> > > We have to support a wide range of TI DSPs here, and that has been
> > our standard
> > > method for C5xxx and C6xxx series.
> > >
> > > -Jeff
> > >
> > > peejayblack wrote:
> > > >
> > > > Hello Everyone,
> > > >
> > > > I'm working with the 5509 and am trying to run code off chip.
> > > > I want to run my code out of an external flash. I locate time
> > > > critical code on chip and swap as needed. The code I run out of
> > > > flash is user interface etc. We have to accommodate five
> > languages
> > > > so it takes up lots of space. I've done this on the 5409 with no
> > > > problems, but on this project I'm having problems. This may be
> > > > due to my using the DSP Bios on this project. I have not used it
> > in
> > > > my other projects so I am new to it. So far I have just switched
> > to
> > > > large memory model, switched to the large library, and set up so
> > the
> > > > user code text locates into the proper CE space. I've replaced my
> > > > flash with a static ram (Same foot print) and have verified that
> > I
> > > > can read and write to it. My program compiles fine and seems to
> > load
> > > > ok though the emulator into the external ram. When I try to run
> > the
> > > > program it seems to hang on the bios initialization. If I set the
> > > > user code text to run on chip the program runs fine.
> > > >
> > > > So I'm asking the throbbing cumulative brain of c55 experts out
> > > > there if they have any ideas as to what I'm missing. I welcome
> > > > any suggestions I've spent a 2 days on this, and hate to spend
> > any
> > > > more time without asking since its probably a obvious oversight
> > on
> > > > my part.
> > > >
> > > > Thanks,
> > > > PeeJayBlack
> >
> >
> > _____________________________________
> >
> >
> >
> > Yahoo! Groups Links
> >
> >
> >
>




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

Re: Re: 5509/bios issue running code off chip - Jeff Brower - Jun 1 18:30:00 2004

PeeJay-

> The crash occurs in "_BIOS_init:".
> It locks hard even crashes CCS.

Yep, sounds familiar. What I do in this case is locate the C source for
BIOS_init()
and follow it through. I seem to recall that the source is in a .src file
somewhere
(CCS CD? TI website?). The CCS librarian tool allows you to pull source for a
function out of the .lib file, make a separate .obj file), re-link (make sure
the new
file has -g turned on), and then you can go through line at a time.

You will find your evil bug.

-Jeff

> --- In , Jeff Brower <jbrower@s...> wrote:
> > PeeJay-
> >
> > > Thanks for the reply. Yes thats what I think I'm
> > > trying to do. I have the bios set to run on chip
> > > then you have choices as to where user code is
> > > run. Just as a start I selected user .text
> > > to run off chip, and it hangs on the bios initalization.
> > > They allow you to use your own cmd file as well to locate
> > > user code but scanning the cmd file they generate I can
> > > see no issues.
> >
> > I'm not sure what you mean. Can you single step until void main() ?
> If not, then
> > what exactly is the last valid code before control is lost?
> >
> > My approximate guess is that something happens in auto_init() or
> bios_init()
> > functions. But you have to get in there to verify.
> >
> > -Jeff
> >
> >
> > > --- In , Jeff Brower <jbrower@s...> wrote:
> > > > PeeJay-
> > > >
> > > > Why would you not locate DSP/BIOS code in onchip mem? It's not a
> > > large amount.
> > > > Would you not have to do this anyway, when you reach the point of
> > > EEPROM boot vs.
> > > > emulator load? You will have to boot something to run, that
> > > something should include
> > > > BIOS initialization and any other low-level initialization.
> > > >
> > > > My experience has been: a) keep anything that occurs prior to
> > > void main() in onchip
> > > > mem, and b) put low-level code in place using a boot mechanism,
> > > either onchip
> > > > bootloader or other method such as external logic that loads code
> > > via HPI. Once you
> > > > reach main(), then you are free to locate code and mix/match
> > > memory spaces as
> > > > needed.
> > > >
> > > > We have to support a wide range of TI DSPs here, and that has been
> > > our standard
> > > > method for C5xxx and C6xxx series.
> > > >
> > > > -Jeff
> > > >
> > > > peejayblack wrote:
> > > > >
> > > > > Hello Everyone,
> > > > >
> > > > > I'm working with the 5509 and am trying to run code off chip.
> > > > > I want to run my code out of an external flash. I locate time
> > > > > critical code on chip and swap as needed. The code I run out of
> > > > > flash is user interface etc. We have to accommodate five
> > > languages
> > > > > so it takes up lots of space. I've done this on the 5409 with no
> > > > > problems, but on this project I'm having problems. This may be
> > > > > due to my using the DSP Bios on this project. I have not used it
> > > in
> > > > > my other projects so I am new to it. So far I have just switched
> > > to
> > > > > large memory model, switched to the large library, and set up so
> > > the
> > > > > user code text locates into the proper CE space. I've replaced my
> > > > > flash with a static ram (Same foot print) and have verified that
> > > I
> > > > > can read and write to it. My program compiles fine and seems to
> > > load
> > > > > ok though the emulator into the external ram. When I try to run
> > > the
> > > > > program it seems to hang on the bios initialization. If I set the
> > > > > user code text to run on chip the program runs fine.
> > > > >
> > > > > So I'm asking the throbbing cumulative brain of c55 experts out
> > > > > there if they have any ideas as to what I'm missing. I welcome
> > > > > any suggestions I've spent a 2 days on this, and hate to spend
> > > any
> > > > > more time without asking since its probably a obvious oversight
> > > on
> > > > > my part.
> > > > >
> > > > > Thanks,
> > > > > PeeJayBlack
> > >
> > >
> > > _____________________________________
> > >
> > >
> > >
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > > _____________________________________ >
> Yahoo! Groups Links




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