FreeCalypso > hg > tcs211-l1-reconst
comparison README @ 349:ed3e588600c1 default tip
README update for the successful completion of the L1 reconstruction project
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 30 Oct 2017 18:03:24 +0000 | 
| parents | 95f308ba55c7 | 
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 348:bc7ca94e52e7 | 349:ed3e588600c1 | 
|---|---|
| 1 This Hg repository contains a version of TI's TCS211 firmware based on our sole | 1 This Hg repository contains the result of the two year long project to deblob | 
| 2 available TCS211 semi-src with the L1 component almost fully deblobbed. | 2 the L1 component in our copy of TCS211 from Sotovik by reconstructing the lost | 
| 3 Specifically, we have deblobbed all of L1 with the exception of GPRS-specific | 3 C source - see the Hg history for how this reconstruction has been accomplished. | 
| 4 l1p_*, macs and p_tpudr12 modules - all other L1 modules are recompiled from | 4 This reconstruction and deblobbing of TCS211 L1 is now complete: BuSyB XML | 
| 5 reconstructed C sources, producing objects that work in the place of the | 5 config file g23m/system/busyb/deliverydefs/dlvcfg0.xml has been edited to | 
| 6 original blobs - sometimes matching bit for bit, in other cases differing in | 6 rebuild all of L1 from source (L1_LIB_DLV, L1_CUST_LIB_DLV and L1_TPU_LIB_DLV | 
| 7 the bits, but matching in logic. See STATUS for a detailed analysis of the | 7 all set to 0), pdt_2091.mak has been regenerated in this configuration, and all | 
| 8 reconstruction matches and differences. | 8 L1 libs are compiled from the reconstructed source under chipsetsw/layer1. | 
| 9 | 9 | 
| 10 Building the firmware in this tree requires a trick because of the not-yet- | 10 In most cases the reconstructed C source is perfect in that the resulting | 
| 11 deblobbed L1_GPRS modules - see README.old for the details. This tree only | 11 object is a bit-for-bit match to the original blob; in other cases the bits do | 
| 12 supports the original gtamodem target; see FreeCalypso Magnetite for other | 12 not match exactly, but the logic has been verified to match nonetheless. See | 
| 13 target support. | 13 STATUS for a detailed analysis of the reconstruction matches and differences. | 
| 14 | |
| 15 This tree only supports the original gtamodem target; see FreeCalypso Magnetite | |
| 16 for other target support. | |
| 14 | 17 | 
| 15 Choice of version for reconstruction | 18 Choice of version for reconstruction | 
| 16 ==================================== | 19 ==================================== | 
| 17 | 20 | 
| 18 For some of the L1 objects (those packaged in l1_ext.lib and l1_int.lib) we | 21 For some of the L1 objects (those packaged in l1_ext.lib and l1_int.lib) we | 
| 24 at all. | 27 at all. | 
| 25 | 28 | 
| 26 The differences between the two versions are limited to just 3 objects: | 29 The differences between the two versions are limited to just 3 objects: | 
| 27 l1_cmplx.obj and l1p_cmpl.obj in l1_ext.lib, and l1_ctl.obj in l1_int.lib. | 30 l1_cmplx.obj and l1p_cmpl.obj in l1_ext.lib, and l1_ctl.obj in l1_int.lib. | 
| 28 | 31 | 
| 29 When we were reconstructing l1_cmplx.c and l1_ctl.c from the available LoCosto | 32 When we were reconstructing l1_cmplx.c, l1_ctl.c and l1p_cmpl.c from the | 
| 30 source, the reconstruction of the original 20070608 version came more easily | 33 available LoCosto source, the reconstruction of the original 20070608 version | 
| 31 than the 20080421 update, and our reconstruction of these two modules matches | 34 came more easily than the 20080421 update, and our reconstruction of these 3 | 
| 32 the 20070608 objects bit for bit. It thus appears that whatever changes TI's | 35 modules matches the 20070608 objects bit for bit. It thus appears that | 
| 33 customer support group made in that 20080421 version were not on TI's internal | 36 whatever changes TI's customer support group made in that 20080421 version were | 
| 34 mainline. | 37 not on TI's internal mainline. | 
| 35 | 38 | 
| 36 Because the 20080421 L1 libs update was made for no other purpose except an | 39 Because the 20080421 L1 libs update was made for no other purpose except an | 
| 37 attempt to debug or fix what was erroneously believed to be a firmware problem | 40 attempt to debug or fix what was erroneously believed to be a firmware problem | 
| 38 but turned out to be hw instead, we have every reason to believe that it does | 41 but turned out to be hw instead, we have every reason to believe that it does | 
| 39 not improve anything and is ultimately unnecessary. And because the original | 42 not improve anything and is ultimately unnecessary. And because the original | 
| 40 20070608 version was easier to source-reconstruct than the other, we are | 43 20070608 version was easier to source-reconstruct than the other, we are | 
| 41 adopting the original 20070608 version and our reconstruction of its C source | 44 adopting the original 20070608 version and our reconstruction of its C source | 
| 42 form as the canonical version of TCS211 L1 for FreeCalypso. | 45 form as the canonical version of TCS211 L1 for FreeCalypso. | 
| 43 | |
| 44 Note that because we have not source-reconstructed the GPRS-specific l1p_* | |
| 45 modules yet, we haven't looked at the l1p_cmpl.obj differences yet. However, | |
| 46 when building a complete fw image with GPRS included using our partially | |
| 47 reconstructed L1, one should use the 20070608 version of the l1p_cmpl.obj blob | |
| 48 for consistency, like we do in FreeCalypso Magnetite. | 
