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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * Only modem functionality is supported. FC Magnetite includes TI's C-Sample
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 and D-Sample demo/prototype UI code and work in progress toward our own
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 FreeCalypso Libre Dumbphone; this code is not included and this functionality
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 is explicitly unsupported in Selenite.
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 * Only the hybrid modem configuration is supported, using the new G23M PS and
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 ACI code from TCS3.2/LoCosto, not any of the legacy configurations that used
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 the blob-laden version from TCS211-20070608.
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
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
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 is the source-reconstructed version.
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
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
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
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.