FreeCalypso > hg > fc-selenite
annotate doc/C155-target @ 114:8a15878740c1
doc/C155-target article written
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 13 Oct 2018 20:01:28 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 114 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 In the early years of FreeCalypso, when we made our first attempt at FC GSM | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 firmware that was eventually retired under the name Citrine, we supported | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 running that fw on the Mot C155/156 target in addition to the other two C1xx | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 subfamilies. However, that C155 target support in not available in our current | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 Magnetite and Selenite firmwares. We are not doing any work to support that | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 target in our current fw because it does not provide anything of value that is | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 not better provided by other targets: | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 * If your goal is to have a practically usable phone, the simpler C139/140 is a | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 better choice than C155/156: C155 uses a ringtone generator chip for which no | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 docs could be found, thus we may not be able to make it ring (in contrast, | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 C139 uses a piezoelectric buzzer driven by the Calypso itself), and C155's | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 LCD controller is much less obvious than the one in the C139 - the latter | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 already works the way we like. | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 * If instead you would like a platform for playing with non-UI modem firmware | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 (which is all that our previous Citrine fw provided), then the only platform | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 which we officially support and endorse for that purpose is our own FCDEV3B. | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 It is not reasonable at this point to ask us to expend unpaid volunteer time | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 to support a hardware platform that is not made or sold by us when instead | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 you should be supporting our work by buying the hardware which we do make. | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 If you wish to strike out on your own and try to resurrect C155 target support | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 in FC Selenite or Magnetite, your first difficulty will be that you won't be | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 able to run our fw entirely out of RAM without flashing like we did when running | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 Citrine on this target. FC Citrine implemented an FFS-in-RAM hack as an | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 alternative to using a real FFS in flash, but this hack is not present in | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 Magnetite or Selenite, thus unless you go even further out and resurrect that | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 hack as well, you will have to flash your firmware. If you take the route of | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 flashing your fw, you will have to decide between one of two possible | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 approaches: | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 Approach 1: you can keep this target's original bootloader that expects the | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 main fw image to begin at 0x20000 with a hand-off interface that is new to the | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 C155 (different from the more basic C1xx subfamilies), and build your fw to fit | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 this C155 boot interface. This approach was supported in Citrine (although not | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 actually used because it was much easier to run via fc-xram w/o flashing) and | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 can be easily resurrected in the gcc build of Selenite. However, it would be a | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 lot more difficult to get this approach to work with TI's original TMS470 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 environment: doing so would require major surgery on their assembly code and | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 linker script magic, which I am not comfortable with because we have no docs or | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 sources for those assembler and linker tools. You will also face the same | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 problem if you resurrect our old FFS-in-RAM hack and try to build a fw image | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 that runs entirely out of RAM w/o flashing: it is easy to do in the gcc | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 environment, but not in TMS470. | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 Approach 2: you can replace the bootloader with the one we use on the more | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 basic C1xx phones (compal-flash-boot-for-fc.bin), in which case you will have | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 complications with loadtools (the ARM vs. Thumb entry point difference for | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 serially loaded code), but you can work around that issue by running fc-loadtool | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 and fc-xram with -h c155 -c plain instead of just -h c155 after you change the | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 bootloader, or you can create yet another patched bootloader version that does | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 the Thumb entry point for serially loaded code like C155 original but hands off | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 to the main fw in flash in the older C1xx fashion. Either way you will then be | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 able to build flashable fw images for this boot-modified C155 in the same manner | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 as how we do it for the more basic C1xx targets, and thus have both TMS470 and | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 gcc environments. | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 As you can see from the above, it will be messy and unpleasant no matter which | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 way you lick it, and we (FreeCalypso Central) are not going to do this work for | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 free, whereas doing it on a commercial consulting basis would cost a lot more | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 than the $500 USD retail price of our own FreeCalypso development board | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 (FCDEV3B) that avoids all of these problems and is a much nicer platform for | 
| 
8a15878740c1
doc/C155-target article written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 Calypso sw/fw development. | 
