annotate README @ 107:b882091ebb68

gprscomp.c: DMEM_PARTITION_1_SIZE bumped from 1600 to 1700 for gcc These large DMEM partitions are used for T_CCD_Globs structure allocations by the GRLC and GRR entities, and this structure contains a jmp_buf for setjmp/longjmp. Our gcc/newlib version of jmp_buf is bigger than TI's TMS470, and the whole structure is now 1636 bytes instead of 1584.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 23 Jul 2018 19:45:50 +0000
parents 5280c5f4c5cd
children af6b7fcf7823
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
100
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
17 * The tree layout and the build system are structured in a such way that it is
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
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
29 * The gcc-built version with GPRS enabled is broken - crashes on boot. The bug
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
30 has not been tracked down yet.
36
1e575681e595 README added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
100
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
32 * With GPRS disabled (GPRS=0 on the ./configure-gcc.sh line), Selenite gcc
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
33 boots without crashing and appears to work: I was able to connect to a GSM
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
34 network and make both voice and CSD calls. However, this gcc-built fw is not
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
35 as stable as Magnetite hybrid: I saw some occasional glitches which I did not
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
36 investigate further.
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
37
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
38 Compared to FC Citrine, the gcc-built version of FC Selenite with GPRS disabled
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
39 offers the following:
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
40
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
41 * CSD support;
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
42
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
43 * 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
44
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
45 * 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
46 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
47
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
48 At the present time the Mother has no plans to do any further work on this
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
49 experimental gcc-built fw, unless someone comes forth with a strong commercial
5280c5f4c5cd README: update for the outcome of the gcc experiment
Mychaela Falconia <falcon@freecalypso.org>
parents: 36
diff changeset
50 interest backed by substantial funding.