annotate README @ 192:4f40ae165be4

abb.c & init.c: sync with Magnetite for Luna additions These Luna target-specific additions are conditionalized on CONFIG_TARGET_LUNA, a C preprocessor symbol that will never be defined in Selenite, hence this change has exactly zero impact on FC Selenite. However, they are being pulled in as a sync in order to keep the diff between Magnetite and Selenite to a minimum; keeping this diff to a minimum increases our opportunities for possible evolution of future FC firmwares.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 23 May 2020 07:03:46 +0000
parents d9926aabf13f
children
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
176
9b49f18d3221 old Calypso+RF chipset versions officially out of scope for Selenite
Mychaela Falconia <falcon@freecalypso.org>
parents: 127
diff changeset
13 * Only the "new" Calypso+RF chipset is supported, i.e., Calypso C035, DSP ROM
9b49f18d3221 old Calypso+RF chipset versions officially out of scope for Selenite
Mychaela Falconia <falcon@freecalypso.org>
parents: 127
diff changeset
14 version 36, Rita RF - no support for historical Calypso silicon versions or
9b49f18d3221 old Calypso+RF chipset versions officially out of scope for Selenite
Mychaela Falconia <falcon@freecalypso.org>
parents: 127
diff changeset
15 older RF chips.
9b49f18d3221 old Calypso+RF chipset versions officially out of scope for Selenite
Mychaela Falconia <falcon@freecalypso.org>
parents: 127
diff changeset
16
36
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 * 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
18 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
19 is the source-reconstructed version.
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
108
af6b7fcf7823 README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 100
diff changeset
21 * 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
22 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
23
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
24 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
25 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
26 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
27 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
28 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
29
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
30 * 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
31 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
32
108
af6b7fcf7823 README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 100
diff changeset
33 * 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
34 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
35 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
36 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
37 the fw to crash.
36
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
108
af6b7fcf7823 README: GPRS status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 100
diff changeset
39 * 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
40 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
41 did not investigate further.
100
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
42
110
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
43 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
44 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
45
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
46 * CSD support;
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
47
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
48 * 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
49
127
ee67197fd2e5 README: added note about Selenite getting synced with Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents: 110
diff changeset
50 * 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
51 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
52 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
53
110
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
54 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
55 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
56
6ed76fdb72d5 README: better explanation of current status and what needs to be done next
Mychaela Falconia <falcon@freecalypso.org>
parents: 108
diff changeset
57 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
58 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
59 the original TMS470-built configuration. However, I (Mother Mychaela) am not
177
d9926aabf13f README: project status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 176
diff changeset
60 currently willing to work in that direction until and unless we recover some
d9926aabf13f README: project status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 176
diff changeset
61 original authentic versions of os_???.c and osx.c modules - the reconstructions
d9926aabf13f README: project status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 176
diff changeset
62 from 2014 which are used in the present FC Selenite experimental source tree
d9926aabf13f README: project status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 176
diff changeset
63 (same as Citrine) aren't good enough.