FreeCalypso > hg > fc-magnetite
annotate doc/Compiling @ 600:8f50b202e81f
board preprocessor conditionals: prep for more FC hw in the future
This change eliminates the CONFIG_TARGET_FCDEV3B preprocessor symbol and
all preprocessor conditionals throughout the code base that tested for it,
replacing them with CONFIG_TARGET_FCFAM or CONFIG_TARGET_FCMODEM. These
new symbols are specified as follows:
CONFIG_TARGET_FCFAM is intended to cover all hardware designs created by
Mother Mychaela under the FreeCalypso trademark. This family will include
modem products (repackagings of the FCDEV3B, possibly with RFFE or even
RF transceiver changes), and also my desired FreeCalypso handset product.
CONFIG_TARGET_FCMODEM is intended to cover all FreeCalypso modem products
(which will be firmware-compatible with the FCDEV3B if they use TI Rita
transceiver, or will require a different fw build if we switch to one of
Silabs Aero transceivers), but not the handset product. Right now this
CONFIG_TARGET_FCMODEM preprocessor symbol is used to conditionalize
everything dealing with MCSI.
At the present moment the future of FC hardware evolution is still unknown:
it is not known whether we will ever have any beyond-FCDEV3B hardware at all
(contingent on uncertain funding), and if we do produce further FC hardware
designs, it is not known whether they will retain the same FIC modem core
(triband), if we are going to have a quadband design that still retains the
classic Rita transceiver, or if we are going to switch to Silabs Aero II
or some other transceiver. If we produce a quadband modem that still uses
Rita, it will run exactly the same fw as the FCDEV3B thanks to the way we
define TSPACT signals for the RF_FAM=12 && CONFIG_TARGET_FCFAM combination,
and the current fcdev3b build target will be renamed to fcmodem. OTOH, if
that putative quadband modem will be Aero-based, then it will require a
different fw build target, the fcdev3b target will stay as it is, and the
two targets will both define CONFIG_TARGET_FCFAM and CONFIG_TARGET_FCMODEM,
but will have different RF_FAM numbers. But no matter which way we are
going to evolve, it is not right to have conditionals on CONFIG_TARGET_FCDEV3B
in places like ACI, and the present change clears the way for future
evolution.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 01 Apr 2019 01:05:24 +0000 |
parents | d25f6e216566 |
children | b9ad7bd63f59 |
rev | line source |
---|---|
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Preparing the development and build environment |
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 In order to compile our FreeCalypso Magnetite firmware, you will need a |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 Unix/Linux system. Even though we are using a compiler which we got in the |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 form of Windows .exe binaries and thus have to use Wine (see below), everything |
531
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
7 that we have built on top of it is Unix-based. The Mother currently uses |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
8 Slackware Linux release 14.2 (32-bit) and previously used Slackware 13.37, |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
9 also 32-bit. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
531
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
11 You will need to install the following 3 pieces of software on whatever |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 machine you will use to run the FC Magnetite build process: |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
531
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
14 1. Wine: self-explanatory. The Mother uses the following Slackware package: |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
15 |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
16 https://www.freecalypso.org/members/falcon/slackware/wine-1.5.23-i486-1sg.txz |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
17 |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
18 I originally used it with Slackware 13.37 and I am still able to use it |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
19 with 14.2 without any issues. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 2. FreeCalypso Wine environment: |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 ftp://ftp.freecalypso.org/pub/GSM/TI_src/wine/installed-env.tar.xz |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 Extract the content of the above tarball into your ~/.wine/drive_c |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 directory - that's all there is to it! |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 3. nowhine wrapper around Wine: |
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 ftp://ftp.freecalypso.org/pub/GSM/TI_src/wine/nowhine.c |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 |
531
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
32 The purpose of this wrapper is to suppress the following obnoxious whine |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
33 which wine emits on my system: |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
34 |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
35 preloader: Warning: failed to reserve range 00010000-00110000 |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
36 |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
37 Wine will also emits a bunch of other whines if you have to run it |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
38 in an environment without an X11 display (e.g., on a machine that you |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
39 ssh into), and our nowhine wrapper suppresses those as well. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
531
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
41 If wine does not emit those preloader whines on your system and you |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
42 never find yourself in a situation of having to run without an X11 |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
43 display and thus you find our nowhine wrapper to be unnecessary, |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
44 you can skip the wrapper and create a nowhine symlink pointing directly |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
45 to wine. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 |
531
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
47 The mokosrec2bin flash image file format conversion utility is now included |
6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
Mychaela Falconia <falcon@freecalypso.org>
parents:
522
diff
changeset
|
48 locally and no longer needs to be provided externally. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 Compiling the local helper utilities |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 ==================================== |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 (cd helpers; make) |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 Do the above. Most of the build helper scripts used in the FC Magnetite build |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 system are written in Bourne shell, but a few were easier to implement in C. |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 You need to compile these C helper utilities before you can run an actual FC |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 Magnetite firmware build, but these utilities are totally ad hoc and specific |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 to the needs of our fw build system, hence they are not meant to be installed |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 globally on your system - instead they stay within the fc-magnetite tree. You |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 just need to run make in the helpers directory once before any actual firmware |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 builds. |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 Actually building the firmware |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 ============================== |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 In order to build our FreeCalypso Magnetite firmware for a particular target in |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 a particular configuration, run a command like this from the top level of the |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 fc-magnetite tree: |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
522
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
71 ./configure.sh fcdev3b hybrid |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
522
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
73 The first required argument to the configure.sh script selects the target, the |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
74 second required argument selects the build configuration recipe, and any further |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
75 arguments beyond these two (optional) allow changing various configurable |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
76 settings that aren't strictly fixed by the hardware target or by the build |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
77 configuration recipe. |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
78 |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
79 As of this writing, the following hardware targets are supported: |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
381
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
81 c11x Motorola C11x/12x |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
82 c139 Motorola C139/140 |
540
f551ffdfe938
doc/Compiling: update for c155 target support and fc-host-tools-r9
Mychaela Falconia <falcon@freecalypso.org>
parents:
531
diff
changeset
|
83 c155 Motorola C155/156 |
461
69da44f2909e
doc/Compiling: mention that the dsample target is currently D-Sample C05
Mychaela Falconia <falcon@freecalypso.org>
parents:
458
diff
changeset
|
84 dsample TI's D-Sample C05 board (no working radio currently) |
251
6c594ce434f8
doc/Compiling: update for the FCDEV3B and for fc-host-tools-r5
Mychaela Falconia <falcon@freecalypso.org>
parents:
220
diff
changeset
|
85 fcdev3b FreeCalypso FCDEV3B |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 gtamodem The Calypso GSM/GPRS modem in Openmoko GTA01/02 smartphones |
593
d25f6e216566
doc/Compiling: update for SE J100 target and fc-host-tools-r10
Mychaela Falconia <falcon@freecalypso.org>
parents:
544
diff
changeset
|
87 j100 Sony Ericsson J100 |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 pirelli Pirelli DP-L10 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 For the available configurations (the second required argument to the configure |
373
9399a83cb394
first round of documentation updates for 2018
Mychaela Falconia <falcon@freecalypso.org>
parents:
311
diff
changeset
|
91 script), look in the configs directory and read the various write-ups under doc. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 |
522
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
93 Each configuration is built in its own directory; the name of this build |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
94 directory takes the form of build-$TARGET-$CONFIG$SUFFIX, i.e., for the example |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
95 configure.sh line above, the resulting build directory will be named |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
96 build-fcdev3b-hybrid. The $SUFFIX part is empty by default, but can be set on |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
97 the command line in order to distinguish non-standard builds that had some |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
98 tunable settings changed to values other than the default. For example, if you |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
99 are building the hybrid configuration for the fcdev3b target as above, but you |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
100 need to disable MELODY_E2, you could run the configure script as follows: |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
101 |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
102 ./configure.sh fcdev3b hybrid MELODY_E2=0 SUFFIX=-noe2 |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
103 |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
104 The build directory would then become build-fcdev3b-hybrid-noe2, and the |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
105 specified suffix will also be included in the firmware version ID string that |
9363ea39c74c
configure.sh: implemented SUFFIX= setting, replacing raw BUILD_DIR=
Mychaela Falconia <falcon@freecalypso.org>
parents:
461
diff
changeset
|
106 gets compiled into the image. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 To actually compile the firmware, cd into the created build directory and run |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 make there. Unfortunately the use of TI's proprietary compiler via Wine makes |
381
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
110 the build quite slow, but there is a trick to speed it up: if you run some |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
111 other Wine program that stays open and does not exit on its own (e.g., wine cmd) |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
112 in another window and leave it open while you run your FC Magnetite fw build, |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
113 the build will proceed much faster - the presence of another Wine process using |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
114 the wineserver environment will keep Wine from shutting this environment down |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
115 and restarting it for every individual cl470 run, i.e., for each individual C |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
116 source file. |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
117 |
c6823ed06f9c
doc/Compiling: update for C11x and for the speed-up trick
Mychaela Falconia <falcon@freecalypso.org>
parents:
373
diff
changeset
|
118 When the build is done, the flashable firmware image will be in fwimage.bin. |
540
f551ffdfe938
doc/Compiling: update for c155 target support and fc-host-tools-r9
Mychaela Falconia <falcon@freecalypso.org>
parents:
531
diff
changeset
|
119 This image is to be flashed with fc-loadtool at a target-dependent base address. |
f551ffdfe938
doc/Compiling: update for c155 target support and fc-host-tools-r9
Mychaela Falconia <falcon@freecalypso.org>
parents:
531
diff
changeset
|
120 The build system also produces a short text file named flash-script which is a |
f551ffdfe938
doc/Compiling: update for c155 target support and fc-host-tools-r9
Mychaela Falconia <falcon@freecalypso.org>
parents:
531
diff
changeset
|
121 flashing command script for fc-loadtool that erases the correct range of flash |
f551ffdfe938
doc/Compiling: update for c155 target support and fc-host-tools-r9
Mychaela Falconia <falcon@freecalypso.org>
parents:
531
diff
changeset
|
122 sectors and then programs fwimage.bin at the right address. |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 |
251
6c594ce434f8
doc/Compiling: update for the FCDEV3B and for fc-host-tools-r5
Mychaela Falconia <falcon@freecalypso.org>
parents:
220
diff
changeset
|
124 When building firmware for the FCDEV3B or for the Pirelli, one can build either |
6c594ce434f8
doc/Compiling: update for the FCDEV3B and for fc-host-tools-r5
Mychaela Falconia <falcon@freecalypso.org>
parents:
220
diff
changeset
|
125 a flashable image or a RAM-loadable one - or both. Because this part of the |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 build system is common with other targets for which only flash images can be |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 produced, the Makefile always builds the flashable image by default - |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 fwimage.bin is always meant for flash and never for RAM. To build a RAM- |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 loadable image when the target allows it, run 'make ram' - the image will be in |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 ramimage.srec, which you can then load and run on the target with FreeCalypso |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 host tool fc-xram. |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 Running on the hardware |
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 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 In order to run the firmware you have built on your Calypso phone or modem |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 (flash or run in RAM as appropriate), you will need to use FreeCalypso host |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 tools. As of this writing, the latest packaged release is this one: |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 |
593
d25f6e216566
doc/Compiling: update for SE J100 target and fc-host-tools-r10
Mychaela Falconia <falcon@freecalypso.org>
parents:
544
diff
changeset
|
140 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-r10.tar.bz2 |
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 Please see target-specific notes for more details. |