Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Debugging from flash

2005-10-28 by Mark Norton

Remember I'm a newbie to this.  I didn't digest all
that you said.  From what you wrote I gather that I
can use JTAG debugging and have the program run from
flash with a totally free set of tools.  I gather that
I must program the code using the Philips flash
utility.  Then I would be able to debug.  If I need to
use break points, then I need to run part of the code
from flash and have the interrupt vectors in RAM. 
This would allow me 1 break point.  Did I get this
right?

--- Rob Jansen <rob@...> wrote:

> timothymarknorton wrote:
> 
> > We've just started making the move to Philips ARM7
> (LPC213x).  I have
> > a IAR Kickstart kit and starting my first project
> with the 32K limit
> > compiler.  We've been toying with the idea of
> using the GNU compiler. 
> > However, from what I've found so far, it looks as
> though none of the
> > free tools allow you to program and debug from
> flash.  Is this correct
> > or am I missing something?
> 
> You need to use hardware breakpoints in order to be
> able to debug code 
> in Flash.
> The ARM 7 TDMI (other ARM versions also) have 2 HW
> breakpoints.
> Most debuggers use the HW breakpoints for specific
> purposes (interrupts 
> & single stepping) and need SW breakpoints for other
> debugging purposes.
> 
> If you have the interrupt vectors in RAM, this may
> be handled by SW 
> breakpoints - this frees one HW breakpoint for
> debugging purposes.
> 
> Some debuggers (or even most) will heve the ability
> to do this.
> GDB has the option RDIROMATZERO, if you set this to
> 0 (set 
> rdiromatzero=0) you get one HW breakpoint freed for
> debugging from Flash.
> 
> Regards,
> 
>     Rob
> 
> 



		
__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.