annotate README @ 336:be011556e71f

FCHG: API implementation started
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 14 Dec 2017 21:01:59 +0000
parents cae495752cf7
children 9399a83cb394
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 FreeCalypso Magnetite firmware project
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ======================================
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 This source tree contains yet another firmware offering created under the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 FreeCalypso umbrella. The key qualities of this firmware offering are:
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 Negatives:
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 * Builds with TI's proprietary TMS470 compiler and thus requires Wine;
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 * Some of the fw components are still in the form of binary blobs -
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 but see below on the deblobbing progress.
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 Positives:
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
254
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
15 * Officially supports our own FCDEV3B and Openmoko GTA01/02 modem targets,
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
16 as well as "hack-only" support for Motorola C139 and Pirelli DP-L10,
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
17 all from the same source tree;
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 * Works as solidly as the TCS211 "golden" reference from TI, on all of the
254
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
20 supported targets - deep sleep works (on non-broken hardware), voice calls
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
21 work in all codec modes including AMR, the DSP dynamic download mechanism
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
22 does its magic, the call audio passes reliably in both directions.
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 The present FC Magnetite firmware is built on the principle of starting with
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 the known working TCS211 code base, without any major restructuring, and making
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 small incremental evolutionary changes, testing at every step to ensure that
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 nothing breaks. It is the direct opposite of the "rebuild from the ground up"
218
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
28 approach taken with our previous Citrine firmware aka "gsm-fw".
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 Functionality
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 =============
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 TI's GSM mobile station firmware architecture supports two ways in which the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 GSM device may be controlled: via AT commands from an external host and/or via
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 a local UI on devices with LCD & keypad hardware. (I said "and/or" because the
218
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
36 two mechanisms can coexist.) The code we got from TI (TCS211) is very solid
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
37 and mature in the modem configuration (control via AT commands only, no UI, no
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
38 battery management, no traditional handset on/off control), but the additional
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
39 code layers that are needed for handset products but not for modems are in a
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
40 very rough "proof of concept" condition, nowhere close to a usable product.
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
41
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
42 The same situation currently exists in FreeCalypso Magnetite. As explained
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
43 below in the Build system section, a key feature of FC Magnetite is that many
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
44 different firmware configurations can be built from the same source tree. One
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
45 of the configuration choices is that you can build the fw either with or without
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
46 the phone UI layers. The work we have done earlier in the tcs211-c139 side
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
47 project (late 2015) has been integrated into Magnetite, properly conditionalized
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
48 so that TI's original configuration is fully preserved when the target != c139.
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
49 However, if you build the UI-enabled configuration for any target other than
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
50 Mot C139, it will compile, but it won't do anything useful: it will try to
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
51 display TI's 176x220 pixel color UI on the D-Sample LCD on Calypso chip select
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
52 nCS3, but this hardware doesn't exist on any of our supported targets. (The
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
53 Pirelli in particular has flash on that chip select instead, so it may interfere
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
54 with FFS operation.)
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
218
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
56 Further work on the handset firmware configuration (UI, battery management and
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
57 other currently missing functionality required for a usable phone) will have to
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
58 wait until we build our own Handset Motherboard Prototype (HSMBP) with a 176x220
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
59 pixel 16-bit color LCD, replicating TI's D-Sample - I personally am not too
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
60 interested in doing this handset fw work on the very crippled Mot C139 or on
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
61 the Pirelli with its own host of issues, although others in the community are
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
62 more than welcome to take a shot at it if someone is interested.
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
218
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
64 Until then, the primary current focus of the FC Magnetite project is the
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
65 AT-command-controlled modem configuration. Both TI's original modem fw (TCS211)
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
66 and our recreation thereof in this Magnetite project support not only voice
254
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
67 calls and SMS, but also CSD, fax and GPRS. This advanced functionality is
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
68 fully supported on our own GSM MS development board (FCDEV3B), where both
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
69 Calypso UARTs are presented directly to the developer, as well as on the
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
70 embedded Calypso modem in Openmoko GTA01/02 smartphones, where the AT command
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
71 channel with CSD, fax and GPRS capabilities is connected to the phone's
cae495752cf7 top README: update for the FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
72 application processor.
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 Build system
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 ============
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 Even though FC Magnetite is essentially unchanged TCS211 code base and builds
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 using TI's proprietary TMS470 compiler under Wine, the build system is entirely
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 new. TI's TCS211 build system, called BuSyB, works by way of a Java tool
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 generating a customized makefile for each desired build configuration, based on
96
9fb9f896bd77 README: grammar fix
Mychaela Falconia <falcon@freecalypso.org>
parents: 94
diff changeset
81 lots of magic contained in a big repository of XML files. There are a bunch of
9fb9f896bd77 README: grammar fix
Mychaela Falconia <falcon@freecalypso.org>
parents: 94
diff changeset
82 Perl scripts involved as well. The Java tool that does the heavy lifting exists
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 only as compiled Java bytecode sans source, and the surrounding Perl scripts
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 aren't very understandable either. And the whole thing thoroughly assumes a
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 Windows environment (drive letters, backslashes, case-insensitive file system)
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 throughout. As a result, when working with TCS211 fw with its original build
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 system, we had to treat these BuSyB-generated makefiles almost as being blobs in
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 themselves: regenerating a makefile from XML magic required major effort, there
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 were some bugs in the makefile generation which we couldn't fix and thus we had
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 to edit the makefiles manually after each regeneration - it was an utter mess,
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 and absolutely not an acceptable way to build a forward-looking, community-
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 serving project.
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 In FC Magnetite I have recreated the relevant parts of the TCS211 build system,
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 using Bourne shell magic instead of Java and XML. Just like TI's BuSyB, ours
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 is a makefile generation system: in order to compile the firmware in a
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 particular desired configuration, you run a shell script to select the config
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 you would like. This shell script will create a dedicated build directory tree
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 to fully contain this build, and populate it with generated Makefiles and some
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 other bits - then you go into the just-created build directory and run make
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 there. The source and build trees are thus cleanly separated. See
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 doc/Compiling for detailed instructions.
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 Another key difference from our previous TCS211-based firmware offerings is that
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 even though we still have to run TI's compiler binaries under Wine, the Wine
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 invokation has been moved from the top (root) of the build process to the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 bottom leaves. With our previous TCS211-based works you would run Wine at the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 top, and then the entire build process would proceed in the Windows environment,
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 using Windows versions of make and other nonsense. Not so in FC Magnetite:
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 in this firmware project all shell scripts, Makefiles, Perl scripts and other
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 build system accessories run at the native Unix level, and Wine is only invoked
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 at the lowest level by individual tool wrappers: for example, TI's compiler
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 binary cl470.exe is encapsulated in a Unix shell script called cl470 that
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 invokes Wine to run the Windows binary, presenting the illusion of a native
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 Unix tool to all upper levels.
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 As yet another defenestration measure, all source files are checked into this
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 tree with Unix line endings.
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 Blob status
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 ===========
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 A long-term FreeCalypso goal is to have our phone/modem firmware rebuild fully
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 from source without any blobs, but this goal has not been achieved yet. While
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 we do have what *seems* to be a suitable replacement source (or feasible ability
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 to reconstruct such) for every piece of TCS211 fw that came in binary-only form,
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 actually making this replacement without breaking functionality is a very
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 non-trivial endeavor. Our previous attempt to rebuild the firmware from the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 ground up, using source pieces lifted from different available leaks and
218
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
130 building with gcc so that no TMS470 COFF blobs could be used - see FreeCalypso
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
131 Citrine - has produced only a very limited subset of the original functionality,
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
132 and until very recently even the most basic function of voice calls did not work
75ea63a3fce5 README updated for the current status of the project
Mychaela Falconia <falcon@freecalypso.org>
parents: 96
diff changeset
133 reliably.
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 Instead the new FreeCalypso firmware approach implemented in FC Magnetite is to
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 approach the blob-free goal incrementally. The new Magnetite build system is
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 specifically designed to enable the transition from the use of blobs to
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 recompilation from source to be made with very fine granularity, down to the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 level of individual object modules within libs if necessary. We tackle one
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 binary-only component at a time, either reconstructing the missing source from
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 disassembly or adapting the source from a different version as works best in
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 each individual case, and we make a test build of the firmware using the
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 reconstructed or fitted component instead of the original blob. If the firmware
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 still works (doesn't break), we make this deblobbing transition permanent and
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 move on to the next component.
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146
219
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
147 See doc/Modem-configs for the current status of the deblobbing effort and for
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
148 the description of the currently available configurations.
94
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 Further reading
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 ===============
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 For various instructions and notes specific to this FreeCalypso Magnetite
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 firmware, look in the doc directory. For more information about the overall
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 FreeCalypso project and our hardware building aspirations, go to our website:
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156
596d86109e44 initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 https://www.freecalypso.org/