| |||
| Home > Memory Mapping > About memory mapping > Memory map considerations | |||
When working with memory mapping, you must be aware of the following:
The top_of_memory value
must be higher than the sum of the program base address and program
size. If set incorrectly, your program might crash because of stack corruption
or because your program overwrites its own code.
There is no requirement that the address specified
by top_of_memory is at the true top of memory.
A C or assembler program can use memory at higher addresses.
If you are working with a scatterloaded application, you must define the location of stack and heap in your code.
When an image is loaded to a debug target, the memory
map is checked to confirm that it is valid to load to the locations
specified in the executable program. Memory is loaded and then read
back to verify a successful load and to confirm that genuine memory
is present. Memory sections defined as Auto are
also updated to reflect the access type specified in the executable
image.
By default, RealView Debugger tries to set a software breakpoint. However, where enabled, the memory map determines the type of breakpoint that you can set. For example, only hardware breakpoints can be set in Flash and ROM.
The memory map is used to define how memory contents are color coded when displayed in the Memory pane.