EmbeddedRelated.com
Forums

IAR breakpoint error with Branch in FLASH Debug with HJTAG

Started by naderus2000 August 12, 2007
Hello,

I use IAR 4.41A with HJTAG v04.4.
I can debug my code without any problem in RAM and
I can program the flash and run the code but when I
want to debug my code in FLASH the debugger stop at every
branch instruction (B,BL,BLX,...) never go further.
and when I press Step Into in Debug Log window I can see this error:
______________________________________________________________________
[RDI Error: 148] No more breakpoints left for this type of memory
(RAM/ROM)
Sat Aug 11 20:33:21 2007: Unable to execute: driver error.
Sat Aug 11 20:33:22 2007: WinRDI Set break at address 0x00001340 failed
______________________________________________________________________
I test the IAR example on LPC2148 from olimex.

Can anyone tell me where is the wrong?
I'm really confuse.
Thanks a lot.

An Engineer's Guide to the LPC2100 Series

--- In l..., "naderus2000" wrote:
>
> Hello,
>
> I use IAR 4.41A with HJTAG v04.4.
> I can debug my code without any problem in RAM and
> I can program the flash and run the code but when I
> want to debug my code in FLASH the debugger stop at every
> branch instruction (B,BL,BLX,...) never go further.
> and when I press Step Into in Debug Log window I can see this error:
> ______________________________________________________________________
> [RDI Error: 148] No more breakpoints left for this type of memory
> (RAM/ROM)
> Sat Aug 11 20:33:21 2007: Unable to execute: driver error.
> Sat Aug 11 20:33:22 2007: WinRDI Set break at address 0x00001340 failed
> ______________________________________________________________________
> I test the IAR example on LPC2148 from olimex.
>
> Can anyone tell me where is the wrong?
> I'm really confuse.
> Thanks a lot.
>

Hi,

the ARM7 architecture has two hardware breakpoints but "unlimited"
software breakpoints. When debugging in RAM the tool will use software
breakpoints, when debugging in Flash, it needs to use hardware
breakpoints. One of the hardware breakpoints is usually reserved for
single stepping, so you have one breakpoint for your purpose.
Two options to get around this.
1. Debugging in RAM as you did or using a simulator
2. Use J-Link, because there is a program from segger.com , that is
used for Flash Breakpoints and it uses them as software breakpoints.

Bob
Hi,
I konw there is only two breakpoint but I don't use any of them.so if IAR need one for single stepping there is one without use! so why IAR can't debug branch instruction?

thanks alot

lpc2100_fan wrote:
--- In l..., "naderus2000" wrote:
>
> Hello,
>
> I use IAR 4.41A with HJTAG v04.4.
> I can debug my code without any problem in RAM and
> I can program the flash and run the code but when I
> want to debug my code in FLASH the debugger stop at every
> branch instruction (B,BL,BLX,...) never go further.
> and when I press Step Into in Debug Log window I can see this error:
> __________________________________________________________
> [RDI Error: 148] No more breakpoints left for this type of memory
> (RAM/ROM)
> Sat Aug 11 20:33:21 2007: Unable to execute: driver error.
> Sat Aug 11 20:33:22 2007: WinRDI Set break at address 0x00001340 failed
> __________________________________________________________
> I test the IAR example on LPC2148 from olimex.
>
> Can anyone tell me where is the wrong?
> I'm really confuse.
> Thanks a lot.
>

Hi,

the ARM7 architecture has two hardware breakpoints but "unlimited"
software breakpoints. When debugging in RAM the tool will use software
breakpoints, when debugging in Flash, it needs to use hardware
breakpoints. One of the hardware breakpoints is usually reserved for
single stepping, so you have one breakpoint for your purpose.
Two options to get around this.
1. Debugging in RAM as you did or using a simulator
2. Use J-Link, because there is a program from segger.com , that is
used for Flash Breakpoints and it uses them as software breakpoints.

Bob

---------------------------------
Shape Yahoo! in your own image. Join our Network Research Panel today!
Depending on the options you set in the debugger, the other break point
could be used for the stack check or for simulating a comm port. Check
the breakpoint menu item under your debugger tag.

Enjoy,
> -----Original Message-----
> From: l...
> [mailto:l...] On Behalf Of nader chinichian
> Sent: 13 August 2007 17:15
> To: l...
> Subject: Re: [lpc2000] Re: IAR breakpoint error with Branch
> in FLASH Debug with HJTAG
>
> Hi,
> I konw there is only two breakpoint but I don't use any of
> them.so if IAR need one for single stepping there is one
> without use! so why IAR can't debug branch instruction?
>
> thanks alot
>
> lpc2100_fan wrote:
> --- In l..., "naderus2000"
> wrote:
> >
> > Hello,
> >
> > I use IAR 4.41A with HJTAG v04.4.
> > I can debug my code without any problem in RAM and
> > I can program the flash and run the code but when I
> > want to debug my code in FLASH the debugger stop at every
> > branch instruction (B,BL,BLX,...) never go further.
> > and when I press Step Into in Debug Log window I can see this error:
> > __________________________________________________________
> > [RDI Error: 148] No more breakpoints left for this type of memory
> > (RAM/ROM)
> > Sat Aug 11 20:33:21 2007: Unable to execute: driver error.
> > Sat Aug 11 20:33:22 2007: WinRDI Set break at address
> 0x00001340 failed
> > __________________________________________________________
> > I test the IAR example on LPC2148 from olimex.
> >
> > Can anyone tell me where is the wrong?
> > I'm really confuse.
> > Thanks a lot.
> > Hi,
>
> the ARM7 architecture has two hardware breakpoints but "unlimited"
> software breakpoints. When debugging in RAM the tool will use software
> breakpoints, when debugging in Flash, it needs to use hardware
> breakpoints. One of the hardware breakpoints is usually reserved for
> single stepping, so you have one breakpoint for your purpose.
> Two options to get around this.
> 1. Debugging in RAM as you did or using a simulator
> 2. Use J-Link, because there is a program from segger.com , that is
> used for Flash Breakpoints and it uses them as software breakpoints.
>
> Bob
>
>
>
>
> ---------------------------------
> Shape Yahoo! in your own image. Join our Network Research
> Panel today!
>
>
>
>
> Yahoo! Groups Links
Hi,
I found the problem when I set with runtime control modules in linker options.
I use that for sprintf function.how can I get free breakpoint my code too big that can handle in RAM!!!
I use HJTAG SERVER.

Lawrence Holding wrote:
Depending on the options you set in the debugger, the other break point
could be used for the stack check or for simulating a comm port. Check
the breakpoint menu item under your debugger tag.

Enjoy,

> -----Original Message-----
> From: l...
> [mailto:l...] On Behalf Of nader chinichian
> Sent: 13 August 2007 17:15
> To: l...
> Subject: Re: [lpc2000] Re: IAR breakpoint error with Branch
> in FLASH Debug with HJTAG
>
> Hi,
> I konw there is only two breakpoint but I don't use any of
> them.so if IAR need one for single stepping there is one
> without use! so why IAR can't debug branch instruction?
>
> thanks alot
>
> lpc2100_fan wrote:
> --- In l..., "naderus2000"
> wrote:
> >
> > Hello,
> >
> > I use IAR 4.41A with HJTAG v04.4.
> > I can debug my code without any problem in RAM and
> > I can program the flash and run the code but when I
> > want to debug my code in FLASH the debugger stop at every
> > branch instruction (B,BL,BLX,...) never go further.
> > and when I press Step Into in Debug Log window I can see this error:
> > __________________________________________________________
> > [RDI Error: 148] No more breakpoints left for this type of memory
> > (RAM/ROM)
> > Sat Aug 11 20:33:21 2007: Unable to execute: driver error.
> > Sat Aug 11 20:33:22 2007: WinRDI Set break at address
> 0x00001340 failed
> > __________________________________________________________
> > I test the IAR example on LPC2148 from olimex.
> >
> > Can anyone tell me where is the wrong?
> > I'm really confuse.
> > Thanks a lot.
> > Hi,
>
> the ARM7 architecture has two hardware breakpoints but "unlimited"
> software breakpoints. When debugging in RAM the tool will use software
> breakpoints, when debugging in Flash, it needs to use hardware
> breakpoints. One of the hardware breakpoints is usually reserved for
> single stepping, so you have one breakpoint for your purpose.
> Two options to get around this.
> 1. Debugging in RAM as you did or using a simulator
> 2. Use J-Link, because there is a program from segger.com , that is
> used for Flash Breakpoints and it uses them as software breakpoints.
>
> Bob
> ---------------------------------
> Shape Yahoo! in your own image. Join our Network Research
> Panel today!
>
>
> Yahoo! Groups Links

---------------------------------
Choose the right car based on your needs. Check out Yahoo! Autos new Car Finder tool.