1
===========================
4
===========================
6
It may be helpful to understand where pieces go in RAM and why. It is
7
easy for these numbers to change, so be careful about depending on
8
them. Always check the compiled programs to be sure.
10
The numbers herin reflect an ARM system where SDRAM starts at
11
0xc0000000. The base address for SDRAM varies from chip to chip and
12
from architecture to architecture.
18
The loader copies itself from wherever it start execution to
19
0xc0200000. It only copies the code and read-only data portions.
20
BSS, stacks, and some buffers follow the code in memory. In some
21
configurations, this image may be 300KiB or more in total.
27
Most kernels execute at 0xc0008000. Compressed kernels are preceeded
28
by a decompression header that will move the kernel if necessary after
29
decompressing it. APEX runs at the 2MiB boundary. The kernel must be
30
smaller than 2MiB - 32KiB for it to start execution at 0xc0008000.
31
This is a safe assumption since most compressed kernels a megabyte or
38
In the 2.6 kernel series, information about the running system as well
39
as the command line is passed in an ATAG structure list. This list is
40
begins at 0xc0000100. There has been some effort applied to make this
41
base address available in a register when the kernel receives
42
execution control. That work is incomplete.