FreeCalypso > hg > freecalypso-citrine
diff ccd/README @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ccd/README Thu Jun 09 00:02:41 2016 +0000 @@ -0,0 +1,38 @@ +CCD (Condat Coder and Decoder) is yet another component needed in order to +produce a functional GSM/GPRS MS (mobile station) firmware image based on the +TI/Condat architecture. We got the C source for this component from the +LoCosto find. + +CCD code that went into TI's firmware builds (as opposed to TI/Condat's +Windows-based tools etc) has two subdivisions: + +1. The main CCD library - ccd_na7_db.lib in the case of our Leonardo reference + firmware. The C modules compiled into this library must be very independent, + as it's one of the "frozen" GPF libs - it appears that GPF was maintained by + a separate group inside TI, and the builders of actual GSM/GPRS firmwares + used that group's GPF (and CCD) binary lib deliverables as untouched blobs. + +2. The ccddata component is meant to be compiled as part of the product firmware + build process, in both TCS211 and LoCosto versions. Our Leonardo reference + version has it in a binary lib too, but it's one of those "unprivileged + customer" libs, and one can see from the makefiles that it was meant to be + compiled the same way as L1 and L23 etc. The LoCosto version came with the + full source for all of CCD, but the build system is set up to only compile + ccddata, whereas the rest of CCD is used in the form of an imported GPF + binary lib, just like GPF proper, just like in TCS211. + +It appears, however, that the C source for both above-listed parts of CCD has +always been maintained in a single directory, and that is how it appears in the +LoCosto find. + +The true reason for the subdivision became apparent when we went through the +process of integrating CCD into FreeCalypso. The C modules that comprise +ccddata include cdginc headers (see ../cdg/README to learn what a nightmare +that is), require these headers to be present in order to pass compilation, and +depend on any changes in these headers, whereas the "base" part of CCD (the one +that was maintained as a GPF stable lib inside TI) has no dependency on cdginc. + +For our use in FreeCalypso we shall compile all of CCD (both subdivisions) into +a single library in this directory - in this project we always compile +everything from source anyway, so we may as well simplify the build process in +this regard.