FreeCalypso > hg > freecalypso-sw
diff target-utils/compalstage/README @ 314:48c08499cede
compalstage binaries built
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Wed, 02 Apr 2014 08:02:14 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/compalstage/README Wed Apr 02 08:02:14 2014 +0000 @@ -0,0 +1,33 @@ +FreeCalypso loadtools have been designed from the beginning to work through +the Calypso chip's own boot ROM. This approach works great for Openmoko and +Pirelli targets, but Compal phones unfortunately have this Calypso boot ROM +disabled at the board level. To run our own code in these phones instead of +booting the regular firmware, we need to go through Compal's own boot code. +The latter allows loading code into IRAM and jumping to it, but not in the +same way as how we do it through the Calypso boot ROM. + +One could argue that the "proper" way to support these Compal phones would be +to build a different version of our loadagent that is designed to be loaded +through Compal's boot code instead of the Calypso boot ROM, and then redesign +our fc-loadtool and fc-xram utilities to work with different loadagents loaded +in different ways on different target devices. But I don't feel like doing +that - too invasive to the once-clean design of loadtools. + +Hence I am adopting a different solution that works in the same way as +OsmocomBB's "chain loading": the IRAM image that is fed to Compal's boot code +is not our real loadagent, but a tiny piece of code that enables the Calypso +boot ROM and jumps to it. All loadtools host programs will include this +optional "Compal stage" at the beginning, enabled for targets that need it, +but will then always fall into the Calypso boot ROM IRAM download path. + +The approach I'm adopting is doubly inefficient for Mot C139/140 phones whose +bootloader effectively requires that the downloaded image be ~15 KiB long +even when we only need to download 32 bytes. But hey, our ultimate goal is to +produce our own Calypso phones, rather than hack those made by diabolical +manufacturers who do not Respect Your Freedom; running our own gsm-fw on the +Mot C139 is only a transitional step, so making fc-loadtool/fc-xram entry +slower by a second or two is probably an acceptable price for keeping the +code clean for the boot-ROM-enabled free world. + +In this directory we build the several different versions of compalstage +needed for different C1xx models.