DSPRelated.com
Forums

Stack Overflow Condition

Started by talhahassankhan December 25, 2004

Hi
i'm working on ADSP-2188M, i use Visual DSP++ 3.0 IDE. i'm also using
Program Memory Overlays. My project is combination of C & Assembly
routines. Most of the work is done in C, only ISRs are written in
Assembly. Tx & Rx ISRs call C function. When i run my project onto the
device, Error message appears:
EZ-ICE Driver
Host warning message 074
Executive_ DSP chip reset required to clear stack overflow condition.

if anybody knows the solution or faced such error kindly guide me.
thanx in anticipation.

Talha Hassan



At which stage does the warning appear? When loading?
When starting the IDDE session? During execution?

Regards,

JaaC

--- talhahassankhan <> wrote:

>
>
> Hi
> i'm working on ADSP-2188M, i use Visual DSP++ 3.0
> IDE. i'm also using
> Program Memory Overlays. My project is combination
> of C & Assembly
> routines. Most of the work is done in C, only ISRs
> are written in
> Assembly. Tx & Rx ISRs call C function. When i run
> my project onto the
> device, Error message appears:
> EZ-ICE Driver
> Host warning message 074
> Executive_ DSP chip reset required to clear stack
> overflow condition.
>
> if anybody knows the solution or faced such error
> kindly guide me.
> thanx in anticipation.
>
> Talha Hassan

=====

Jaime Andr Aranguren Cardona
__________________________________


It appears during execution ... during project
execution when i halt the project (shift + F5) this
message appears. if i dont halt the project it
continues executing but the output is not correct.
also i saw "incorrect" values of variables like value
of "reset_flag" (any variable) is "8245" altough
variable can be either 0 or 1. also program memory
overlay "PMOVLAY" value is 053C means not correct.
thanx

--- Jaime Andres Aranguren Cardona
<> wrote:

>
> At which stage does the warning appear? When
> loading?
> When starting the IDDE session? During execution?
>
> Regards,
>
> JaaC
>
> --- talhahassankhan <>
> wrote:
>
> >
> >
> > Hi
> > i'm working on ADSP-2188M, i use Visual DSP++ 3.0
> > IDE. i'm also using
> > Program Memory Overlays. My project is combination
> > of C & Assembly
> > routines. Most of the work is done in C, only ISRs
> > are written in
> > Assembly. Tx & Rx ISRs call C function. When i run
> > my project onto the
> > device, Error message appears:
> > EZ-ICE Driver
> > Host warning message 074
> > Executive_ DSP chip reset required to clear
> stack
> > overflow condition.
> >
> > if anybody knows the solution or faced such error
> > kindly guide me.
> > thanx in anticipation.
> >
> > Talha Hassan
>
> =====
>
> Jaime Andr Aranguren Cardona >
> __________________________________

__________________________________



Hi,

--- talha khan <> wrote:

> Also program memory
> overlay "PMOVLAY" value is 053C means not correct.

What in your program could be modifying this register?

=====

Jaime Andr Aranguren Cardona

__________________________________



Hi Talha:

possible reason may be

>> Infinite recursion — the code keeps calling and calling but never
returns ...eventually the call stack runs out of memory, results in a
"Stack Overflow
Error".

If there is no infinite recursion

>> Is it possible to experiment with the stacksize; make it larger to
see if the
problem recurs ? b
saurabh

The future belongs to those who believe in the beauty of their dreams.
- Eleanor Roosevelt
==================================================

On Sun, 26 Dec 2004 21:54:35 -0800 (PST), talha khan
<> wrote:
>
> It appears during execution ... during project
> execution when i halt the project (shift + F5) this
> message appears. if i dont halt the project it
> continues executing but the output is not correct.
> also i saw "incorrect" values of variables like value
> of "reset_flag" (any variable) is "8245" altough
> variable can be either 0 or 1. also program memory
> overlay "PMOVLAY" value is 053C means not correct.
> thanx
>
> --- Jaime Andres Aranguren Cardona
> <> wrote:
>
> >
> > At which stage does the warning appear? When
> > loading?
> > When starting the IDDE session? During execution?
> >
> > Regards,
> >
> > JaaC
> >
> > --- talhahassankhan <>
> > wrote:
> >
> > >
> > >
> > > Hi
> > > i'm working on ADSP-2188M, i use Visual DSP++ 3.0
> > > IDE. i'm also using
> > > Program Memory Overlays. My project is combination
> > > of C & Assembly
> > > routines. Most of the work is done in C, only ISRs
> > > are written in
> > > Assembly. Tx & Rx ISRs call C function. When i run
> > > my project onto the
> > > device, Error message appears:
> > > EZ-ICE Driver
> > > Host warning message 074
> > > Executive_ DSP chip reset required to clear
> > stack
> > > overflow condition.
> > >
> > > if anybody knows the solution or faced such error
> > > kindly guide me.
> > > thanx in anticipation.
> > >
> > > Talha Hassan
> >
> > =====
> >
> > Jaime Andrés Aranguren Cardona
> >
> >
> >
> >
> >
> >
> > __________________________________
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > __________________________________


--



Hi
Thanx God i've isolated the problem. When i call C
Routine in ISR (ISR is of course written in Assembly)
then the problem occurs. problem is just isolated not
solved, kindly give me tips to solve the problem.
thanx

Talha Hassan

__________________________________



On Mon, 27 Dec 2004, talha khan wrote:

>
> Hi
> Thanx God i've isolated the problem. When i call C
> Routine in ISR (ISR is of course written in Assembly)
> then the problem occurs. problem is just isolated not
> solved, kindly give me tips to solve the problem.
> thanx

Howdy Talha,

Sounds like the C routine is calling a few more things. Instead of
calling the C routine from the isr, set a flag in the isr. In your main
routine, check the flag often - if set, call the C routine. You will have
an easier time debugging that way, and you'll not be wasting interrupt
time. Interrupts should be very short - it's hard to do sometimes, but it
works a lot better.

Patience, persistence, truth,
Dr. mike


Hi,

Although I think it is doable, I don't recommend to
call C routines from assembly. Calling assembly
routines from C is more standard. You need good
knowledge of the C runtime to call C from ASM. Calling
ASM from C is easier.

Why can't your ISR be written in C, if what you are
going to do is in C?

--- talha khan <> wrote:

>
> Hi
> Thanx God i've isolated the problem. When i call C
> Routine in ISR (ISR is of course written in
> Assembly)
> then the problem occurs. problem is just isolated
> not
> solved, kindly give me tips to solve the problem.
> thanx
>
> Talha Hassan

=====

Jaime Andr Aranguren Cardona
__________________________________



I have one board that has a problem with a 21065L SHARC (many other "identical"
boards work properly). The main symptom I have noticed is that the bus request
line (\BR1) line is always low, even during reset. The board has 2 21065L
chips
connected in a standard multi-processor set-up (i.e. shared busses and control
signals). But it appears that DSP ID #1 is driving bus request 1 line low even
during reset. This signal is of course connected to both DSPs, so to isolate
the problem, I lifted the pin from DSP ID #1. The pin still is driven low, so
it seems that the DSP is driving it rather than a short on the board or problem
with the other DSP.

My first assumption is that I have a bad DSP chip. But since it is fairly
difficult and costly to replace the chip, I wanted to see if there was anything
else obvious that might cause this behavior. I checked clock, reset, and chip
ID and they all looked OK. \HBR and \HBG were both high as expected. The boot
mode is set to host boot (\BMS high, BSEL low). Can you think of anything that
would cause the bus request line to be driven low?

Thanks in advance,
Jon
__________________________________



On Tue, 28 Dec 2004, Jon Harris wrote:

> I have one board that has a problem with a 21065L SHARC (many other "identical"
> boards work properly). The main symptom I have noticed is that the bus request
> line (\BR1) line is always low, even during reset. The board has 2 21065L
> chips
> connected in a standard multi-processor set-up (i.e. shared busses and control
> signals). But it appears that DSP ID #1 is driving bus request 1 line low even
> during reset. This signal is of course connected to both DSPs, so to isolate
> the problem, I lifted the pin from DSP ID #1. The pin still is driven low, so
> it seems that the DSP is driving it rather than a short on the board or problem
> with the other DSP.
>
> My first assumption is that I have a bad DSP chip. But since it is fairly
> difficult and costly to replace the chip, I wanted to see if there was anything
> else obvious that might cause this behavior. I checked clock, reset, and chip
> ID and they all looked OK. \HBR and \HBG were both high as expected. The boot
> mode is set to host boot (\BMS high, BSEL low). Can you think of anything that
> would cause the bus request line to be driven low?

The only thing I can think of is power and ground problems. I'd have to
agree with your assesment though, seems like the chip is broken. If it
stays low while reset is low, the output gate is hosed. It's supposed to
be tristate during reset.

Patience, persistence, truth,
Dr. mike