changeset 100:5280c5f4c5cd

README: update for the outcome of the gcc experiment
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 21 Jul 2018 07:26:47 +0000
parents 09f9a422baa6
children 2c4e31c7c4e5
files README
diffstat 1 files changed, 36 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/README	Sat Jul 21 03:36:09 2018 +0000
+++ b/README	Sat Jul 21 07:26:47 2018 +0000
@@ -1,5 +1,5 @@
-FreeCalypso Selenite is a side branch off the mainline FC Magnetite firmware.
-The principal changes from Magnetite are:
+FreeCalypso Selenite is an experimental side branch off the mainline FC
+Magnetite firmware.  The principal changes from Magnetite are:
 
 * Only modem functionality is supported.  FC Magnetite includes TI's C-Sample
   and D-Sample demo/prototype UI code and work in progress toward our own
@@ -11,14 +11,40 @@
   the blob-laden version from TCS211-20070608.
 
 * The old version of Nucleus used in TI's TCS211 program (binary sans source)
-  is being replaced with FreeNucleus by XVilka.  OSL (GPF to Nucleus glue layer)
+  has been replaced with FreeNucleus by XVilka.  OSL (GPF to Nucleus glue layer)
   is the source-reconstructed version.
 
-* The tree layout and the build system are structured in a such way that it
-  will be possible to build either with TI's original TMS470 compiler or with
-  gcc.
+* The tree layout and the build system are structured in a such way that it is
+  possible to build either with TI's original TMS470 compiler or with gcc.
+
+The purpose of this Selenite fw experiment is to see what will happen if we
+take our full-featured hybrid modem fw as featured in Magnetite and compile it
+with gcc instead of TI's original TMS470 compiler, which also implies swapping
+in the new version of Nucleus and an entirely different implementation of all
+assembly components and linker script magic.  The current status is as follows:
+
+* When built with the original TMS470 compiler, the present Selenite fw appears
+  to perform no worse than Magnetite hybrid.
+
+* The gcc-built version with GPRS enabled is broken - crashes on boot.  The bug
+  has not been tracked down yet.
 
-FC Selenite is currently a work in progress.  The configuration in which the
-new version of Nucleus is built with the old TMS470 compiler needs to be put
-together as a transitional step, and only after that step we'll be in the right
-state to begin the work of porting to gcc.
+* With GPRS disabled (GPRS=0 on the ./configure-gcc.sh line), Selenite gcc
+  boots without crashing and appears to work: I was able to connect to a GSM
+  network and make both voice and CSD calls.  However, this gcc-built fw is not
+  as stable as Magnetite hybrid: I saw some occasional glitches which I did not
+  investigate further.
+
+Compared to FC Citrine, the gcc-built version of FC Selenite with GPRS disabled
+offers the following:
+
+* CSD support;
+
+* Audio services: playing beeps and melodies through the DSP;
+
+* Newer code: FC Selenite branched off Magnetite in 2018-07,
+  whereas FC Citrine has been unmaintained since 2016-10.
+
+At the present time the Mother has no plans to do any further work on this
+experimental gcc-built fw, unless someone comes forth with a strong commercial
+interest backed by substantial funding.