ARM Technical Support Knowledge Articles

Set $top_of_memory to match target board memory

Applies to: Multi-ICE, RealView ICE and Trace (RVI / RVT)

Answer

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

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: Embedded Software Development with ADS v1.2.

Article last edited on: 2008-09-09 15:47:29

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