FreeCalypso > hg > fc-selenite
annotate README @ 163:a911ac771094
board preprocessor conditionals: prep for more FC hw in the future
Please see the corresponding change in fc-magnetite for the explanation.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 01 Apr 2019 01:20:03 +0000 |
parents | ee67197fd2e5 |
children | 9b49f18d3221 |
rev | line source |
---|---|
100
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
1 FreeCalypso Selenite is an experimental side branch off the mainline FC |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
2 Magnetite firmware. The principal changes from Magnetite are: |
36 | 3 |
4 * Only modem functionality is supported. FC Magnetite includes TI's C-Sample | |
5 and D-Sample demo/prototype UI code and work in progress toward our own | |
6 FreeCalypso Libre Dumbphone; this code is not included and this functionality | |
7 is explicitly unsupported in Selenite. | |
8 | |
9 * Only the hybrid modem configuration is supported, using the new G23M PS and | |
10 ACI code from TCS3.2/LoCosto, not any of the legacy configurations that used | |
11 the blob-laden version from TCS211-20070608. | |
12 | |
13 * The old version of Nucleus used in TI's TCS211 program (binary sans source) | |
100
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
14 has been replaced with FreeNucleus by XVilka. OSL (GPF to Nucleus glue layer) |
36 | 15 is the source-reconstructed version. |
16 | |
108
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
17 * The tree layout and the build system are structured in such a way that it is |
100
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
18 possible to build either with TI's original TMS470 compiler or with gcc. |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
19 |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
20 The purpose of this Selenite fw experiment is to see what will happen if we |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
21 take our full-featured hybrid modem fw as featured in Magnetite and compile it |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
22 with gcc instead of TI's original TMS470 compiler, which also implies swapping |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
23 in the new version of Nucleus and an entirely different implementation of all |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
24 assembly components and linker script magic. The current status is as follows: |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
25 |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
26 * When built with the original TMS470 compiler, the present Selenite fw appears |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
27 to perform no worse than Magnetite hybrid. |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
28 |
108
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
29 * It is now possible to compile the full-featured fw with gcc without disabling |
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
30 GPRS (no more crash on boot), but actually using GPRS doesn't work: pppd |
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
31 establishes the point-to-point connection to the network's GGSN and gets an |
110
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
32 IP address, but then trying to ping through this established connection causes |
108
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
33 the fw to crash. |
36 | 34 |
108
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
35 * Voice, SMS and CSD appear to work in the gcc-built version, but this firmware |
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
36 is not as stable as Magnetite hybrid: I saw some occasional glitches which I |
af6b7fcf7823
README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
100
diff
changeset
|
37 did not investigate further. |
100
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
38 |
110
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
39 Compared to FC Citrine (our previous attempt at gcc-built fw), the present |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
40 FC Selenite firmware built with gcc already offers the following: |
100
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
41 |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
42 * CSD support; |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
43 |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
44 * Audio services: playing beeps and melodies through the DSP; |
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
45 |
127
ee67197fd2e5
README: added note about Selenite getting synced with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
110
diff
changeset
|
46 * Newer code: FC Selenite branched off Magnetite in 2018-07 and is being |
ee67197fd2e5
README: added note about Selenite getting synced with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
110
diff
changeset
|
47 periodically synced with new Magnetite developments, whereas FC Citrine |
ee67197fd2e5
README: added note about Selenite getting synced with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
110
diff
changeset
|
48 has been unmaintained since 2016-10. |
100
5280c5f4c5cd
README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents:
36
diff
changeset
|
49 |
110
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
50 Because FC Selenite gcc already does everything that FC Citrine could do and |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
51 more, and is no less free, FC Citrine is now officially fully retired. |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
52 |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
53 As the next step, someone needs to do the work of tracking down and debugging |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
54 all of the issues seen in the gcc-built version, and make it work as well as |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
55 the original TMS470-built configuration. However, I (Mother Mychaela) am not |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
56 currently allocating my time toward that work because I see other directions |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
57 within the greater FreeCalypso family of projects as being more important. |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
58 Specifically, I see the following as much higher priorities compared to |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
59 gcc-built firmware: |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
60 |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
61 * Getting our FCDEV3B V2 boards made to prove my proposed fix for the sleep |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
62 mode bug, and if they work as expected, we'll need to make more FreeCalypso |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
63 modem hw in various form factors and put that hw into the hands of end users. |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
64 Software or firmware without hardware to run it on is useless no matter how |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
65 good or how free/libre it is, hence it makes no sense to me to worry whether |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
66 our fw is built with gcc or with TI's TMS470 compiler until the hardware |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
67 that's needed to run it is made in greater volume and placed into the hands |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
68 of people who would appreciate it. |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
69 |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
70 * Getting the digital voice channel over MCSI working, which is a prerequisite |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
71 before we can repackage our FreeCalypso modem into a module form factor which |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
72 could then be marketed to communities like Neo900 and Librem 5 as a drop-in |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
73 replacement for the 100% closed and proprietary modem modules they use |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
74 currently. |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
75 |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
76 * Building our long-planned FreeCalypso Libre Dumbphone hardware, so we can |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
77 have a complete phone without needing someone else like Neo900 or Librem 5 or |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
78 ZeroPhone to provide an application processor front-end to our modem. |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
79 |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
80 Anyone else who feels that whipping the gcc-built fw version into shape should |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
81 be a higher priority has two options: either do the work themselves (the code |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
82 is free for everyone), or pay Falconia Partners LLC to elevate the priority of |
6ed76fdb72d5
README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents:
108
diff
changeset
|
83 this gcc-built fw work. |