Keil Logo

ULINK: LPC2000 SINGLE STEP AT RESET APPEARS TO FAIL


Information in this article applies to:

  • ULINK USB-JTAG Adapter
  • ULINK2 USB-JTAG Adapter

QUESTION

I am using the Keil ULINK on a Philips/NXP LPC2000 target hardware. When I start a debugging session (with 'Run to main()' turned off) or when I reset the CPU the program counter is at its reset address. From there I execute single steps and expect to go through the STARTUP.S file. Instead the system jumps to the 0xFFFFxxxx region and stays there.

What causes this behavior?

ANSWER

The NXP LPC2000 devices have built-in boot firmware which executes after CPU reset. What you actually see is the execution of this boot firmware. Since the boot firmware disables the JTAG interface with one of the first instructions it is not possible to step through it. When the program counter is on the reset address (0x0000 when on-chip flash is used) there are two ways to reach the startup code:

  • You may set a breakpoint at address 0 or at the label Reset_Handler. Then start executing the program from the debugger with the Run button or with a 'G' command.
  • Open the dialog PeripheralSystem Control BlockMemory Mapping Control and select User Flash Mode.

Now, you can single step through the startup code.

MORE INFORMATION

  • NXP LPC2000 User's Manuals

SEE ALSO

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Sunday, January 28, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.