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. |
