annotate README @ 112:fdecfb3bd860

.../drv_app/r2d/r2d_*.c: LCD include case fixes from Magnetite R2D is not used in Selenite, but we strive to keep the two source trees in sync as much as possible to reduce the diffs.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 13 Oct 2018 16:56:22 +0000
parents 6ed76fdb72d5
children ee67197fd2e5
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
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
46 * Newer code: FC Selenite branched off Magnetite in 2018-07,
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
47 whereas FC Citrine has been unmaintained since 2016-10.
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
48
110
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
49 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
50 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
51
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
52 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
53 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
54 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
55 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
56 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
57 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
58 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
59
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
60 * 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
61 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
62 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
63 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
64 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
65 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
66 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
67 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
68
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
69 * 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
70 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
71 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
72 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
73 currently.
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
74
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
75 * 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
76 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
77 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
78
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
79 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
80 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
81 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
82 this gcc-built fw work.