Project

General

Profile

Firmware Memory Layout » History » Version 1

laforge, 01/15/2017 03:05 PM

1 1 laforge
h1. Firmware linker scripts
2
3
We use the following linker targets:
4
5
|_.Target|_.Description|_.Typical user|_.Restriction|
6
|compalram|Used to load firmware into the RAM of the phone at boot time, using the [[CompalRamLoader]]|Almost everything|64kByte|
7
|e88flash|Image to be flashed directly into the start of NOR Flash of the phone|[[loader.bin]]|-|
8
|e88loader|Image to be flashed to NOR flash (after loader) to be booted by [[loaderbin]] managed by [[osmoload]]|Everything|-|
9
|highram|Image to be loaded into RAM by [[loaderbin]]|Everything|128kByte|
10
11
In terms of useful configurations, you can for example
12
# RAM-load *compalram* a image <= 64kByte, or
13
# RAM-load *compalram* image of @loader.bin@ followed by a *highram* image of your application, or
14
# RAM-load *compalram* image of @loader.bin@ followed by flashing a *e88flash* image of @loader.bin@ to flash
15
# RAM-load *compalram* image of @loader.bin@ followed by flashing a *e88loader* image to flash
16
17
h1. Memory layout
18
19
h2. compalram
20
21
This is pretty unexciting as everything is put in RAM.
22
23
|_.Base|_.Size|_.Section|_.Usage|
24
|0x0080001c|0x18|text.exceptions|Exception Vector Table|
25
|0x00800100|0x04|compal.header|Compal Header|
26
|0x00800104|0x10000|text/ctors/dtors/rodata/data||
27
28
h2. highram
29
30
|_.Base|_.Size|_.Section|_.Usage|
31
|0x0080001c|0x18|text.exceptions|Exception Vector Table|
32
|0x00820000|0x20000|text/ctors/dtors/rodata/data||
33
34
h2. e88flash
35
36
|_.Base|_.Size|_.Section|_.Usage|
37
|0x00010000|0x100|.text.start|Vectors before copied to flash|
38
|0x00010100|-|.text/ctors/dtors/rodata/got|read-only code and data|
39
|0x00800000|0xff|.compal.reservedram|RAM reserved for compal loader?|
40
|0x00800100|-|.data/.ramtext/.bss|read-write data|
41
42
h2. e88loader
43
44
|_.Base|_.Size|_.Section|_.Usage|
45
|0x00002000|0xa0|.compal.header||
46
|0x000020a0|0x38|.compal.vectors|exception vectors, run-time relocated to 0x0080001c|
47
|0x000020f8|-|.text/ctors/dtors/rodata/got|read-only code and data|
48
|0x00800000|0xff|.compal.reservedram|RAM reserved for compal loader?|
49
|0x00800100|-|.data/.ramtext/.bss|read-write data|
Add picture from clipboard (Maximum size: 48.8 MB)