Sign in

username:

password:



Not a member?

Search adsp



Search tips

Subscribe to adsp



adsp by Keywords

AD1819 | AD7332 | ADSP-2106 | ADSP-21060 | ADSP-21065L | ADSP-2116 | ADSP-21160M | ADSP-2181 | ADSP-218x | ADSP-219 | ADSP-2199 | ADSP219 | BF531 | BF532 | BF533 | BF535 | Blackfin | FFT | JTAG | LDF | SDRAM | SHARC | SPORT | UART | VDSP++ | VisualDSP

Ads

Discussion Groups

Discussion Groups | Analog Devices DSPs | VisualDSP++ 3.1 breakpoints

Technical discussions related to Analog Devices DSPs (including Blackfin, TigerSHARC, SHARC and ADSP-21xx DSPs).

  

Post a new Thread

VisualDSP++ 3.1 breakpoints - albinofrosch - Jan 21 14:29:00 2004



Hello,

I use VisualDSP++ 3.1 with the Blackfin Apex ICE on an ADSP-BF532.
After setting a breakpoint its not possible to make a single step.
The emulator always goes to an interrupt function and not to the
expected instruction.
Is it possible to disable the interrupts in debugging mode?

Thanks in advance
Christoph





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

Re: VisualDSP++ 3.1 breakpoints - sharath malve - Jan 21 17:40:00 2004

Hello,
At the most only one break point can be set.
Use run to cursor option to step thru(right click mouse,see for Run To Corsor option)
Actually when U r steeping thru pressing F9 button, the DSP get interrupt and execution goes to interrupt routine.
OR
place break point for each intruction and give run.

albinofrosch <a...@yahoo.com> wrote:
Hello,

I use VisualDSP++ 3.1 with the Blackfin Apex ICE on an ADSP-BF532.
After setting a breakpoint its not possible to make a single step.
The emulator always goes to an interrupt function and not to the
expected instruction.
Is it possible to disable the interrupts in debugging mode?

Thanks in advance
Christoph
_____________________________________
/groups.php3





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

Re: VisualDSP++ 3.1 breakpoints - Kenneth Porter - Jan 21 18:05:00 2004

--On Wednesday, January 21, 2004 2:29 PM +0000 albinofrosch
<> wrote:

> I use VisualDSP++ 3.1 with the Blackfin Apex ICE on an ADSP-BF532.
> After setting a breakpoint its not possible to make a single step.
> The emulator always goes to an interrupt function and not to the
> expected instruction.
> Is it possible to disable the interrupts in debugging mode?

One of my long-standing pet peeves about the SHARC debugger. It always leaps
off into the timer ISR when I single step, so I have to turn that bit off in
IMASK if I want to single step, and turn it back on before I run again.

A similar problem is that single-stepping at a breakpoint doesn't move off of
the breakpoint. I don't know if this one is the case with the Blackfin, though.






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

Re: VisualDSP++ 3.1 breakpoints - Mike Rosing - Jan 21 18:25:00 2004

On Wed, 21 Jan 2004, Kenneth Porter wrote:

> --On Wednesday, January 21, 2004 2:29 PM +0000 albinofrosch
> <> wrote:
>
> > I use VisualDSP++ 3.1 with the Blackfin Apex ICE on an ADSP-BF532.
> > After setting a breakpoint its not possible to make a single step.
> > The emulator always goes to an interrupt function and not to the
> > expected instruction.
> > Is it possible to disable the interrupts in debugging mode?
>
> One of my long-standing pet peeves about the SHARC debugger. It always leaps
> off into the timer ISR when I single step, so I have to turn that bit off in
> IMASK if I want to single step, and turn it back on before I run again.
>
> A similar problem is that single-stepping at a breakpoint doesn't move off of
> the breakpoint. I don't know if this one is the case with the Blackfin,
though.

It has to do with the processor and how it works as well as your reflex
timing versus the processors timing. when an interrupt occurs, it gets
latched, and the next possible cycle it gets executed. Since you halt the
processor with the debugger, the next possible cycle is your single step.
There's no way around it, you have to turn off interrupts (except the one
you want to debug) if you want to single step thru code.

One way to fix this is to use a command like IMASK=0; when you hit a
break. You can then have interrupts enabled, you halt and turn off
further interrupts, then before running again turn interrupts back on
with IMASK = ....

Patience, persistence, truth,
Dr. mike




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

Re: VisualDSP++ 3.1 breakpoints - Steve Holle - Jan 21 20:13:00 2004

I have seen BMD's for the Coldfire processor that manage to single step with an interrupt running.  It would seem to me that the solution for single stepping would be to automatically set a breakpoint at the next source line and run until there.  Not that difficult as that is what I wind up doing anyway.

At 11:05 AM 1/21/2004, Kenneth Porter wrote:
--On Wednesday, January 21, 2004 2:29 PM +0000 albinofrosch
<a...@yahoo.com> wrote:

> I use VisualDSP++ 3.1 with the Blackfin Apex ICE on an ADSP-BF532.
> After setting a breakpoint its not possible to make a single step.
> The emulator always goes to an interrupt function and not to the
> expected instruction.
> Is it possible to disable the interrupts in debugging mode?

One of my long-standing pet peeves about the SHARC debugger. It always leaps
off into the timer ISR when I single step, so I have to turn that bit off in
IMASK if I want to single step, and turn it back on before I run again.

A similar problem is that single-stepping at a breakpoint doesn't move off of
the breakpoint. I don't know if this one is the case with the Blackfin, though.

_____________________________________
/groups.php3
 

--------------------------
Steve Holle
Link Communications, Inc.
1035 Cerise Road
Billings, Montana  59101-7378
406.245.5002
s...@link-comm.com
--------------------------





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

Re: VisualDSP++ 3.1 breakpoints - djthurin - Jan 21 23:14:00 2004

With the Sharc, I just leave the MODE1 window open, and then I can
quickly clear the INTEN bit. Can you do the same on the Blackfin?
--- In , Steve Holle <sholle@l...> wrote:
> I have seen BMD's for the Coldfire processor that manage to single
step
> with an interrupt running. It would seem to me that the solution
for
> single stepping would be to automatically set a breakpoint at the
next
> source line and run until there. Not that difficult as that is
what I wind
> up doing anyway.
>
> At 11:05 AM 1/21/2004, Kenneth Porter wrote:
> >--On Wednesday, January 21, 2004 2:29 PM +0000 albinofrosch
> ><albinofrosch@y...> wrote:
> >
> > > I use VisualDSP++ 3.1 with the Blackfin Apex ICE on an ADSP-
BF532.
> > > After setting a breakpoint its not possible to make a single
step.
> > > The emulator always goes to an interrupt function and not to the
> > > expected instruction.
> > > Is it possible to disable the interrupts in debugging mode?
> >
> >One of my long-standing pet peeves about the SHARC debugger. It
always leaps
> >off into the timer ISR when I single step, so I have to turn that
bit off in
> >IMASK if I want to single step, and turn it back on before I run
again.
> >
> >A similar problem is that single-stepping at a breakpoint doesn't
move off of
> >the breakpoint. I don't know if this one is the case with the
Blackfin,
> >though.
> >
> >_____________________________________
> >/groups.php3
> >
> >
> >
>
> --------------------------
> Steve Holle
> Link Communications, Inc.
> 1035 Cerise Road
> Billings, Montana 59101-7378
> 406.245.5002
> sholle@l...
> --------------------------




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

Re: VisualDSP++ 3.1 breakpoints - russell_washington - Jan 27 18:40:00 2004

--- In , Steve Holle <sholle@l...> wrote:
> I have seen BMD's for the Coldfire processor that manage to single
step
> with an interrupt running. It would seem to me that the solution
for
> single stepping would be to automatically set a breakpoint at the
next
> source line and run until there. Not that difficult as that is
what I wind
> up doing anyway. This would work in cases where code flow is linear. But figuring
out where to put the breakpoint(s?) might get tricky in cases like:

a) Any loop termination/continuation conditional.
b) A function call that may or may not be made (i.e., "if ( ( vfoo
&& foo() ) || ( vbar && bar () )" ).
c) A switch() statement with lots of case's.
d) Anything that might thrown a C++ exception.
e) Calling a function through function pointer variable or C++
virtual function call.

RUSS





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

Re: Re: VisualDSP++ 3.1 breakpoints - Steve Holle - Jan 28 15:04:00 2004

At 11:40 AM 1/27/2004, russell_washington wrote:
--- In a...@yahoogroups.com, Steve Holle <sholle@l...> wrote:
> I have seen BMD's for the Coldfire processor that manage to single
step
> with an interrupt running.  It would seem to me that the solution
for
> single stepping would be to automatically set a breakpoint at the
next
> source line and run until there.  Not that difficult as that is
what I wind
> up doing anyway. This would work in cases where code flow is linear.  But figuring
out where to put the breakpoint(s?) might get tricky in cases like:

a) Any loop termination/continuation conditional.
b) A function call that may or may not be made (i.e., "if (  ( vfoo
&& foo() ) || ( vbar && bar () )" ).
c) A switch() statement with lots of case's.
d) Anything that might thrown a C++ exception.
e) Calling a function through function pointer variable or C++
virtual function call.

RUSS

Yah, that is a problem.  I wonder how Single Step does it?
_____________________________________
/groups.php3
 

--------------------------
Steve Holle
Link Communications, Inc.
1035 Cerise Road
Billings, Montana  59101-7378
406.245.5002
s...@link-comm.com
--------------------------





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

Re: Re: VisualDSP++ 3.1 breakpoints - Mike Rosing - Jan 29 16:02:00 2004

On Wed, 28 Jan 2004, Steve Holle wrote: > Yah, that is a problem. I wonder how Single Step does it?

the JTAG sets a bit in the eumlation controller which forces single step
operation. This is fine when there are no interrupts. If you have
interrupts, and they are coming in at 1kHz rates but your reflexes are
in .1 Hz rates, you get a lot more interrupts latched than a single step
can respond to. The emulator itself is a higher priority interrupt than
reset (locations 0x20000->0x20003 are "reserved" in the 2106x processors,
it's basicly emulator interrupt space). So every step from the JTAG is an
interrupt. If you don't want to walk thru every interrupt in the system,
then set breaks for specific locations or memory access, then turn off
all interrupts, then single step the problem. It's not that hard, it's
part of the art of debugging.

Patience, persistence, truth,
Dr. mike




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