Project

General

Profile

Firmware linker scripts

We use the following linker targets:

Target Description Typical user Restriction
compalram Used to load firmware into the RAM of the phone at boot time, using the CompalRamLoader Almost everything 64kByte
e88flash Image to be flashed directly into the start of NOR Flash of the phone loader.bin -
e88loader Image to be flashed to NOR flash (after loader) to be booted by loaderbin managed by osmoload Everything -
highram Image to be loaded into RAM by loaderbin Everything 128kByte
In terms of useful configurations, you can for example
  1. RAM-load compalram a image <= 64kByte, or
  2. RAM-load compalram image of loader.bin followed by a highram image of your application, or
  3. RAM-load compalram image of loader.bin followed by flashing a e88flash image of loader.bin to flash
  4. RAM-load compalram image of loader.bin followed by flashing a e88loader image to flash

Memory layout

compalram

This is pretty unexciting as everything is put in RAM.

Base Size Section Usage
0x0080001c 0x18 text.exceptions Exception Vector Table
0x00800100 0x04 compal.header Compal Header
0x00800104 0x10000 text/ctors/dtors/rodata/data

highram

Base Size Section Usage
0x0080001c 0x18 text.exceptions Exception Vector Table
0x00820000 0x20000 text/ctors/dtors/rodata/data

e88flash

Base Size Section Usage
0x00010000 0x100 text.start Vectors before copied to flash
0x00010100 - text/ctors/dtors/rodata/got read-only code and data
0x00800000 0xff compal.reservedram RAM reserved for compal loader?
0x00800100 - data/.ramtext/.bss read-write data

e88loader

Base Size Section Usage
0x00002000 0xa0 compal.header
0x000020a0 0x38 compal.vectors exception vectors, run-time relocated to 0x0080001c
0x000020f8 - text/ctors/dtors/rodata/got read-only code and data
0x00800000 0xff compal.reservedram RAM reserved for compal loader?
0x00800100 - data/.ramtext/.bss read-write data
Add picture from clipboard (Maximum size: 48.8 MB)