FreeCalypso > hg > freecalypso-sw
annotate doc/TIFFS @ 226:4d706a4134b0
FFS in gsm-fw: generate the legacy block info table at run time
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Mon, 13 Jan 2014 10:15:59 +0000 |
parents | 2900fe603f8a |
children | 1852900ce9ea |
rev | line source |
---|---|
224
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
1 All TI GSM firmwares known to this author (FreeCalypso developer Space Falcon) |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
2 implement some kind of flash file system, or FFS. Several different FFS code |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
3 implementations, and correspondingly several different on-flash data formats, |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 have been used throughout the history of TI's involvement in the wireless |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
5 terminal business. The FFS incarnation of primary interest to the FreeCalypso |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
6 project is the one invented by Mads Meisner-Jensen at TI in the early 2000s |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
7 (at least according to the comments in the sources available to us), and it is |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 relevant to us in the following ways: |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
9 |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
10 * When targeting the GSM modem in Openmoko's GTA01/02 smartphones, we need to |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 work with the original FFS from the factory (call it MokoFFS), the same FFS |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 as used by the mokoN firmwares: this FFS contains the IMEI and the RF |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 calibration values from the factory, which we most certainly don't want to go |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
14 without. |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
15 |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
16 * The Leonardo firmware semi-src which we are using as the reference for |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
17 building our own full source, multi-target GSM fw contains a turnkey-working |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
18 implementation of this very FFS, using the on-flash format in question and |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
19 providing run-time APIs expected by the rest of the GSM fw suite. Following |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
20 the principle of ``if it ain't broke, don't fix it'', we can use this FFS not |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
21 only on the gtamodem target, but also on other targets, including those where |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
22 we would be starting from a blank state and thus have the freedom to use |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
23 whatever FFS we like. |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
24 |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
25 * The original proprietary fw on the Pirelli DP-L10 phone also happens to use |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
26 an FFS in the same format. Pirelli's FFS does *not* contain the IMEI or any |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
27 of the RF calibration values though, and trying to reuse it directly for our |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
28 own FC GSM fw seems to be more trouble than benefit - so we'll probably have |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
29 our fw start with a blank TIFFS instead - but there is still insight to be |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
30 gained from in-vitro examination of captured Pirelli FFS images. |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
31 |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
32 Naming |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
33 ====== |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
34 |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
35 I have previously referred to the FFS format in question as Mokopir-FFS or |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
36 MPFFS, from "Moko" and "Pirelli". I was originally hesitant to call it TIFFS, |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
37 as lacking the source code, I had no way of knowing whether the FFS format and |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
38 implementation were of TI's own invention, or something that TI licensed as a |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
39 black box from one of their many proprietary software partners. (I was unable |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
40 to identify it as any well-known, industry-standard FFS format, but absence of |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
41 evidence is not evidence of absence.) But now that we have TI's original source |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
42 code which implements this FFS (first the MV100-0.1.rar source, then the full |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
43 Leonardo one), complete with comments and a HISTORY file, we know that our FFS |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
44 was invented and implemented by someone named Mads Meisner-Jensen at TI - I'm |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
45 guessing in the SSA group in Nice, France. |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
46 |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
47 I am now making a naming transition from MPFFS to TIFFS: there is really no |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
48 link between this FFS format and the Openmoko+Pirelli duo, other than the |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
49 happenstance of me having first encountered this FFS on these two GSM device |
2900fe603f8a
beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
50 brands, and the name TIFFS is more neutrally-descriptive. |