ARM Technical Support Knowledge Articles


Applies to: uVision IDE


Information in this article applies to:


In the Options for Target dialog, how do the External Memory ranges 1 to 6 affect the location of code and data?

Do the numbers 1 to 6 relate to the device chip selects?


The six memory ranges do not refer to chip selects. They are simply places where you may specify the external memory settings of your target system. The linker uses this information when linking and locating your programs.

In general, these settings must match your target hardware exactly. For example, if your target system has the following memory map:

000000H -> 00FFFFH  ROM
010000H -> 01FFFFH  RAM
020000H -> 023FFFH  ROM

you must set up one of the six ranges to be ROM starting at 0x000000 and 0x10000 in size, another one of six ranges to be ROM starting at 0x20000 and 0x04000 in size, and finally another one of the six ranges to be RAM starting at 0x10000 and 0x10000 in size.

When you build your project, code and constants are located in the ROM address ranges and data are located in the RAM address ranges. The linker starts locating sections at the lowest addresses available.

The ranges 1 to 6 do not relate to the chip selects on the device. For example, if you configured chip select 4 (CS4) to be active for the address range 8000H to FFFFH, then in the example memory map above, it would be active during accesses to part of the ROM. The number of the range is irrelevant. They are only numbered for convenience.


Refer to the Getting Started User's Guide for more information on the Options for Target dialog.

Article last edited on: 2005-07-19 10:26:08

Rate this article

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