ARM Technical Support Knowledge Articles

CHANGING RESET VECTOR ADDRESS

Applies to: uVision Debugger

Answer


Information in this article applies to:


QUESTION

I have relocated my program to start at an address other than 0000h. My program starts at 8000h.

When I start the uVision Debugger, I get the following error message:

ERROR 65: Access Violation at C:0X000.
No read/execute permission.

How can I simulate my program?

ANSWER

The uVision Simulator accurately simulates the MCU including the reset vector and all interrupt vectors.

If you relocate the reset vector and interrupt vectors, you must somehow let the simulator know about this.

The easiest way to do this is to create a small assembly program that redirects the reset and interrupt vectors and add it to your project. For example:

cseg at 0
LJMP    08000h

cseg at 3
LJMP    08003h

cseg at 0B
LJMP    0800Bh
.
.
.

As a quick fix, you can simply enter $=0x8000 in the Command Window when you start the debugger. Note that you may wish to uncheck the Go Till Main checkbox under Project Options -> Debug Tab.

SEE ALSO

Article last edited on: 2006-11-18 21:25:56

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential