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