|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
Did you find this article helpful? Yes No
How can we improve this article?