Hello FC community, Over the course of this last week I made a little detour from my original plans and created a firmware experiment in the form of a side branch off our FC Magnetite mainline. This experimental fw is called FC Selenite and can be found here:
https://bitbucket.org/falconian/fc-selenite This experimental Selenite fw is based on our recently-declared-stable Magnetite hybrid code base, but unlike Magnetite it can be built either with the original TMS470 compiler or with gcc. FC Selenite also uses the newer full-source version of Nucleus from XVilka (with both compilers) - this Nucleus change was a prerequisite for transition to gcc - and all of the assembly pieces and linker script magic are entirely different between the two compiler environments. Based on limited testing, FC Selenite TMS470 works no different from Magnetite hybrid - although the latter still remains the official stable version. Now on to FC Selenite gcc, which was the main goal of this week-long coding experiment, it behaves as follows: * When built with GPRS enabled, the gcc-built fw crashes on boot. It appears that one of the GPRS-specific protocol stack components tries to allocate a GPF memory partition that is larger than the maximum configured size. Trying to allocate a partition of an impossible size is a hard error about equivalent to a kernel panic in a larger OS, but of course this invalid behaviour does not occur when the the same code is compiled with the toolchain it was designed with - hence something is getting broken with the compiler change. I haven't dug any deeper yet. * Building Selenite gcc with GPRS disabled (CSD support can be enabled or disabled) produces firmware that boots without crashing, and works as well as our previous gcc-built Citrine fw. Compared to Citrine, Selenite gcc adds CSD (I made a successful CSD call from it), audio services (playing beeps and melodies through the DSP), and a newer code base. However, I would not call it stable: while testing it, I encountered some glitches which I did not investigate further because such investigation would require time and involvement beyond what I had allocated for this experiment. I do not currently plan to do much further work on this new gcc-built fw unless someone comes forth with a strong commercial interest backed by substantial funding. Instead I'm going to focus on getting FCDEV3B V2 boards made, see if my hw change fixes the sleep mode bug, and if FCDEV3B V2 boards work as expected, continue my efforts to market our FreeCalypso modem solution. The marketing part is absolutely essential, as without FreeCalypso modems in some end user form factor put into the hands of such users, any firmware work is pointless no matter how good or how free/libre. Of course if anyone else is interested in getting FC Selenite gcc working with GPRS enabled and has an FCDEV3B board and some time to kill, feel free to go for it! Hasta la Victoria, Siempre, Mychaela aka The Mother _______________________________________________ Community mailing list Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community