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.