This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Debug mode is starting in thumb mode

I am using uVision3 and have an LPC2294.

I am just using the default blinky program that comes with the SW.

First, Is there any way to read what is in the flash after a programming it using the debugger?

Next, I am just trying to run the debugger on the program I have put in the internal Flash.

In the debug tab, I unchecked the load application at start up and provided an initialization file that follows:

FUNC void Setup (void) {
// <o> Program Entry Point
  PC = 0x00000000;
// <o1.0..1> MEMMAP: Interrupt Vector maps to: <0=> Boot Block
// <1=> On-Chip Flash
//<2=> Static RAM
//<3=> External Memory (LPC2292/2294 only)
_WDWORD(0xE01FC040, 0x00000001);	//memmap
}
Setup();             // Setup for Running
LOAD IFLASH\Blinky INCREMENTAL  // Download
g, main	 // Go till main

This file just comes with the SW.

When I start the debugger, it says the CPU is in Thumb mode and it increments the PC to 0x00000002 and then enters abort mode because it has no idea what the instruction is at 0x000000002.

This only happens the first time I run the debugger. If I turn the debugger off and then back on the thumb mode bit is off and all is good.

Does anyone know why this happens?


If I just uncheck everything in the debug tab and do not provide an initialization file, and then just load the hex file and set the pc to 0, the debugger gives me the same problem. The debugger thinks it is thumb mode.

Can anyone point me to some docs that say what the debugger actually is showing. Is adress 0x000000000 really the on chip flash???


Thanks

0