FreeCalypso > hg > fc-selenite
view 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 |
line wrap: on
line source
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 FreeCalypso Libre Dumbphone; this code is not included and this functionality is explicitly unsupported in Selenite. * Only the hybrid modem configuration is supported, using the new G23M PS and ACI code from TCS3.2/LoCosto, not any of the legacy configurations that used the blob-laden version from TCS211-20070608. * The old version of Nucleus used in TI's TCS211 program (binary sans source) 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 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. * 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.