| ARM Technical Support Knowledge Articles | |
Applies to: ARM Developer Suite (ADS), Integrator, Multi-ICE, RealView Development Suite (RVDS), RealView ICE and Trace (RVI / RVT)
The debugger internal variable '$top_of_memory' tells Multi-ICE or RealView ICE where the highest writable address is in the target's memory map, so that the stack and heap can be placed correctly in memory.
The default value of $top_of_memory may need to be changed to work with some Integrator core modules or third party boards. Failure to do this results in data aborts, crashes or the program branching to undefined areas of memory.
The following table includes the amount of SSRAM memory for all Integrator core modules and their highest possible location for $top_of_memory.
| Core Module | Amount of SSRAM | $top_of_memory |
| CM7TDMI | 256KB | 0x40000 |
| CM720T | 256KB | 0x40000 |
| CM740T | 256KB | 0x40000 |
| CM9x0T (HBI-0047B) | 256KB | 0x40000 |
| CM920T (HBI-0070C) | 1MB | 0x100000 |
| CM920T-ETM (HBI-0070C) | 1MB | 0x100000 |
| CM922T-XA10 | 2.4MB | 0x266000 |
| CM926EJ-S | 1MB | 0x100000 |
| CM946E-S | 1MB | 0x100000 |
| CM966E-S | 1MB | 0x100000 |
| CM10200E | 2MB | 0x200000 |
| Core Tile | Amount of SSRAM | $top_of_memory |
| ARM7TDMI | ||
| ARM926EJ-S | ||
| ARM1136JF-S | ||
| ARM11 MPCore |
Note that the REMAP bit in the core module control register needs to be set to map SSRAM at address 0.
You can extend the amount of RAM memory at address 0 by connecting an SDRAM DIMM to the core module.
For more information about $top_of_memory and how to place the stack and heap, please see Application Note 107: Embedded Software Development with ADS v1.2.
Article last edited on: 2008-09-09 15:47:31
Did you find this article helpful? Yes No
How can we improve this article?