FreeCalypso > hg > freecalypso-tools
comparison target-utils/compalstage/README @ 0:e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 11 Jun 2016 00:13:35 +0000 |
parents | |
children | 56b1bab3e09b |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e7502631a0f9 |
---|---|
1 FreeCalypso loadtools have been designed from the beginning to work through | |
2 the Calypso chip's own boot ROM. This approach works great for Openmoko and | |
3 Pirelli targets, but Compal phones unfortunately have this Calypso boot ROM | |
4 disabled at the board level. To run our own code in these phones instead of | |
5 booting the regular firmware, we need to go through Compal's own boot code. | |
6 The latter allows loading code into IRAM and jumping to it, but not in the | |
7 same way as how we do it through the Calypso boot ROM. | |
8 | |
9 One could argue that the "proper" way to support these Compal phones would be | |
10 to build a different version of our loadagent that is designed to be loaded | |
11 through Compal's boot code instead of the Calypso boot ROM, and then redesign | |
12 our fc-loadtool and fc-xram utilities to work with different loadagents loaded | |
13 in different ways on different target devices. But I don't feel like doing | |
14 that - too invasive to the once-clean design of loadtools. | |
15 | |
16 Hence I am adopting a different solution that works in the same way as | |
17 OsmocomBB's "chain loading": the IRAM image that is fed to Compal's boot code | |
18 is not our real loadagent, but a tiny piece of code that enables the Calypso | |
19 boot ROM and jumps to it. All loadtools host programs will include this | |
20 optional "Compal stage" at the beginning, enabled for targets that need it, | |
21 but will then always fall into the Calypso boot ROM IRAM download path. | |
22 | |
23 The approach I'm adopting is doubly inefficient for Mot C139/140 phones whose | |
24 bootloader effectively requires that the downloaded image be ~15 KiB long | |
25 even when we only need to download 32 bytes. But hey, our ultimate goal is to | |
26 produce our own Calypso phones, rather than hack those made by diabolical | |
27 manufacturers who do not Respect Your Freedom; running our own gsm-fw on the | |
28 Mot C139 is only a transitional step, so making fc-loadtool/fc-xram entry | |
29 slower by a second or two is probably an acceptable price for keeping the | |
30 code clean for the boot-ROM-enabled free world. | |
31 | |
32 In this directory we build the several different versions of compalstage | |
33 needed for different C1xx models. |