FreeCalypso > hg > fc-selenite
annotate README @ 134:7d50d8d13711
FFS code sync with Magnetite + gcc version fix
This change brings the new flash autodetection for FC and Pirelli targets
from Magnetite, and should also fix the gcc version for C1xx and gtamodem
targets, which were previously broken because they used TI's original
flash autodetect code (which operates at address 0) while the boot ROM
is mapped there.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 11 Dec 2018 08:43:25 +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. |