view target-utils/compalstage/README @ 385:1cb7b2b6ce18
Makefile.hosttools and README.hosttools added at the top level
author
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date
Tue, 10 Jun 2014 09:23:07 +0000 (2014-06-10)
parents
48c08499cede
children
line source
+ − 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.