view gsm-fw/L1/stand/README @ 613:9e605ec89ed0

gsm-fw/L1/stand: starting work on our version of standalone L1
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Fri, 29 Aug 2014 17:25:46 +0000
parents
children 4d40f9a99445
line wrap: on
line source

In their internal development environment, TI had a way to build L1 standalone,
i.e., omitting the G23 protocol stack and other large and complex pieces of the
full firmware.  Such an ability is essential for sane development, and the
abundant references to OP_L1_STANDALONE throughout the codebase confirm that TI
had it indeed.

However, we (FreeCalypso) don't have a way to build an OP_L1_STANDALONE image
exactly the way TI did it - we don't have all of the necessary source - the
glue pieces specific to this configuration are missing.  Nor do we necessarily
need to imitate what TI did in this department: it appears that TI's standalone
L1 build omitted GPF (with the exception of OS and OSX) and everything that
lives in Riviera land, but for us the situation is different: we already have
a successful build with Riviera and GPF, but no L1, thus we simply need to add
L1 to what we have.  Our idea of standalone L1 simply means building without
the G23 stack, which we have yet to begin integrating.

In the standard firmware build, there is a component called L1 PEI.  It is part
of the G23 stack, and has header and library dependencies of the latter - thus
it is *not* part of the L1 code proper.  However, it performs some essential
initialization steps, and runs the L1A task.  We don't know how TI handled
these functions in their standalone L1 build - we don't have that part of their
source, not even in the otherwise complete LoCosto version, not even if we were
targeting LoCosto hardware.

Our solution: we are going to lift l1_pei out of LoCosto's g23m-gsm, and hack
up a special version of it that won't have the standard complement of G23
header and library dependencies.  It is virtually certain that TI did something
different, but our hack-solution should work for our needs.

Because our standalone L1 build is a specially stripped-down version of the
regular fw build, and not at all like TI's standalone L1, we do NOT define
OP_L1_STANDALONE.  Instead we have a different preprocessor symbol:
CONFIG_L1_STANDALONE.