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