109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 1 Selecting and preparing the compiler environment
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 2 ================================================
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 3
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 4 FreeCalypso Selenite firmware can be built with two different compiler
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 5 toolchains: either with TI's original TMS470 compiler or with gcc. Transition
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 6 to compiling with gcc is a very bold move with very heavy fallout, and many
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 7 parts of the fw are still broken or destabilized when built with gcc instead of
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 8 the original compiler they were developed with, thus for the foreseeable future,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 9 anyone who aspires to be a FreeCalypso developer will need to compile our fw in
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 10 both ways, compare the behaviour of the two versions, and work toward making
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 11 the gcc-built version perform as well as the TMS470-built one. Thus you need
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 12 to have both compiler toolchains installed and working - see the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 13 Toolchain-setup-470 and Toolchain-setup-gcc articles for the instructions.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 14
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 15 Compiling the local helper utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 16 ====================================
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 17
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 18 (cd helpers; make)
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 19
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 20 Do the above. Most of the build helper scripts used in the FC Selenite build
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 21 system are written in Bourne shell, but a few were easier to implement in C.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 22 You need to compile these C helper utilities before you can run an actual FC
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 23 Selenite firmware build, but these utilities are totally ad hoc and specific
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 24 to the needs of our fw build system, hence they are not meant to be installed
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 25 globally on your system - instead they stay within the fc-selenite tree. You
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 26 just need to run make in the helpers directory once before any actual firmware
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 27 builds.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 28
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 29 Actually building the firmware
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 30 ==============================
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 31
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 32 To build our FC Selenite firmware for your hw target of interest in the default
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 33 configuration, run a command like this from the top level of the fc-selenite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 34 tree:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 35
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 36 ./configure-gcc.sh fcdev3b
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 37
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 38 or
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 39
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 40 ./configure-tms470.sh fcdev3b
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 41
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 42 As of this writing, the following hardware targets are supported:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 43
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 44 c11x Motorola C11x/12x
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 45 c139 Motorola C139/140
124
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 46 c155 Motorola C155/156
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 47 fcdev3b FreeCalypso FCDEV3B
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 48 gtamodem The Calypso GSM/GPRS modem in Openmoko GTA01/02 smartphones
188
+ − 49 gtm900mgc Huawei GTM900, hardware variant MGC1GSMT or MGC2GSMT
158
8fe0cde2fd79
doc/Compiling: update for SE J100 target and fc-host-tools-r10
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 50 j100 Sony Ericsson J100
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 51 pirelli Pirelli DP-L10
206
+ − 52 tangomdm FreeCalypso Tango standard modem config
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 53
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 54 Notice the difference from FC Magnetite: there is no "configuration name"
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 55 argument after the target name. Because FC Selenite does not include any UI
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 56 code (modem functionality only) and does not offer different versions of
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 57 various fw components the way Magnetite does, it does not have named
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 58 configurations in the same sense as Magnetite. Instead any configuration
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 59 tweaks are done via var=value optional arguments on the configure command line
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 60 after the required target name argument; the following variables are currently
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 61 available for tweaking:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 62
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 63 ALLOW_CSIM_GSM
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 64
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 65 Per TI's original design, the AT+CSIM command does not allow GSM APDUs
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 66 of class 0xA0. Openmoko found some need for them, and they patched
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 67 their modem fw to allow these APDUs with AT+CSIM. With our new hybrid
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 68 modem fw this policy setting is configurable at build time; the default
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 69 is ALLOW_CSIM_GSM=1 (GSM APDUs allowed).
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 70
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 71 DISABLE_SLEEP
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 72
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 73 The general default is DISABLE_SLEEP=0, and the firmware automatically
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 74 enables all of the chipset's available sleep modes on boot. Setting
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 75 DISABLE_SLEEP=1 causes all sleep modes to be disabled by default on
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 76 boot (they can still be enabled with the AT%SLEEP command); this
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 77 setting is needed for FCDEV3B V1 boards that have a hardware bug that
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 78 causes breakage when sleep modes are enabled.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 79
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 80 FCHG_STATE
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 81
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 82 This setting enables or disables the FCHG battery charging driver. By
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 83 default it is enabled on targets that have battery charging hardware
124
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 84 (c11x, c139, c155, pirelli) and disabled on those that don't have such
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 85 hw (fcdev3b, gtamodem).
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 86
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 87 GPRS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 88
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 89 Self-explanatory: enables or disables GPRS. By default GPRS is enabled
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 90 on proper modem hw targets (fcdev3b and gtamodem) and disabled on c11x,
124
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 91 c139, c155 and pirelli.
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 92
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 93 L1_DYN_DSP_DWNLD
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 94
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 95 This setting enables TI's dynamic DSP patch download mechanism. When
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 96 the firmware is built for a Calypso target with DSP ROM version 36 in
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 97 the silicon (all FreeCalypso-made hw and most of the supported legacy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 98 targets), L1_DYN_DSP_DWNLD is enabled by default and needs to be kept
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 99 enabled for correct operation: the patch code we got from TI for this
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 100 ROM is the dynamic download version, and the ARM-side L1 code expects
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 101 all of these patches to be present, both the static part and the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 102 dynamic parts. However, one can build our fw with L1_DYN_DSP_DWNLD=0
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 103 for experimental testing, to see what breaks when the dynamic patches
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 104 are omitted.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 105
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 106 L1_VOICE_MEMO_AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 107
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 108 This setting enables or disables support in L1 and in the RiViera Audio
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 109 Service for AMR voice memo recording and playback. This code has not
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 110 been properly studied yet and no test AT commands are provided for it,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 111 but it is enabled by default like in TI's original TCS211 fw.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 112
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 113 MELODY_E2
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 114
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 115 This setting enables or disables support in L1 and in the RiViera Audio
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 116 Service for playing E2-format melodies. The default is MELODY_E2=1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 117 like in TI's original TCS211 fw. Note that Melody E1 support is always
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 118 enabled; setting MELODY_E2=0 disables only Melody E2, but not E1.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 119
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 120 MEMSUPER
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 121
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 122 This setting enables the memory supervision feature in TI's GPF and in
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 123 the G23M protocol stack built on top of it. This code has not been
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 124 properly studied yet; play with it at your own risk.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 125
124
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 126 RVTMUX_ON_MODEM
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 127
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 128 This setting configures the usage of Calypso UARTs. RVTMUX_ON_MODEM=0
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 129 puts the AT command interface on the MODEM UART and RVTMUX on the IrDA
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 130 UART (TI's intended config and the default on sensible hw targets);
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 131 RVTMUX_ON_MODEM=1 (default on the crippled C1xx targets) puts RVTMUX on
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 132 the MODEM UART, sacrificing the standard AT command interface.
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 133
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 134 SERIAL_DYNAMIC_SWITCH
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 135
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 136 TI's TCS211 fw includes a provision (only for Bluetooth-enabled fw in
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 137 TI's original) to switch one UART between the AT command interface and
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 138 RVTMUX while the other UART is fixed for Bluetooth. In FreeCalypso we
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 139 have changed this code to work without Bluetooth, for the purpose of
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 140 switching the user-facing MODEM UART between AT commands and RVTMUX,
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 141 but the mechanism does not work properly yet and is disabled by default.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 142 Enable it with SERIAL_DYNAMIC_SWITCH=1 if you would like to play with
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 143 it.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 144
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 145 SPEECH_RECO
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 146
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 147 This setting enables or disables support in L1 and in the RiViera Audio
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 148 Service for TI's speech recognition mechanism. This code and the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 149 underlying DSP facility itself have not been properly studied yet and
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 150 no test AT commands are provided for it, but it is enabled by default
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 151 like in TI's original TCS211 fw.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 152
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 153 SRVC
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 154
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 155 TI's original config variable, selects the presence or absence of data
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 156 services other than GPRS as follows:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 157
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 158 SRVC=0: voice and SMS only
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 159 SRVC=1: CSD and fax enabled
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 160 SRVC=2: CSD enabled, but not fax
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 161
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 162 The default is SRVC=1 (fax and data enabled) for proper modem hw targets
124
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 163 (fcdev3b and gtamodem) and SRVC=0 (voice and SMS only) on c11x, c139,
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 164 c155 and pirelli.
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 165
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 166 SUFFIX
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 167
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 168 This setting is solely for configuration management. If you make a
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 169 build with any of the settings described in this document changed from
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 170 the default, you should also pass a SUFFIX=-xxx argument so your special
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 171 build will be appropriately identified in the build directory name and
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 172 in the firmware version ID string compiled into the image. The naming
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 173 of suffixes is up to you, but here are some examples:
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 174
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 175 L1_DYN_DSP_DWNLD=0 SUFFIX=-nodyn
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 176 MELODY_E2=0 SUFFIX=-noe2
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 177 MEMSUPER=2 SUFFIX=-ps
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 178 SERIAL_DYNAMIC_SWITCH=1 SUFFIX=-sds
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 179 SPEECH_RECO=0 SUFFIX=-nosr
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 180 TR_BAUD_CONFIG=TR_BAUD_812500 SUFFIX=-812500
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 181
133
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 182 TRACEMASK_IN_FFS
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 183
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 184 TI's Test Interface (TIF) component in the GPF realm includes an
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 185 optional feature for saving trace masks in FFS, but TI's production
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 186 firmwares had it disabled. The component in question is now compiled
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 187 from source like the rest of our fw, but we still keep this
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 188 TRACEMASK_IN_FFS code disabled by default, at least for now.
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 189 Set TRACEMASK_IN_FFS=1 to enable this code in GPF.
118c25581538
doc/Compiling: TRACEMASK_IN_FFS config var addition documented
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 190
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 191 TR_BAUD_CONFIG
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 192
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 193 The value of this symbol is an alphanumeric keyword of the form
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 194 TR_BAUD_xxxxxx; the default is TR_BAUD_115200. See
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 195 src/cs/drivers/drv_core/uart/traceswitch.h for the available baud rate
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 196 choices; the most practical use is setting TR_BAUD_CONFIG=TR_BAUD_812500
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 197 when you need to run the RVTMUX serial channel at the maximum possible
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 198 baud rate.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 199
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 200 Each configuration is built in its own directory; the name of this build
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 201 directory always begins with build- and is constructed to reflect the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 202 configuration. The auto-generated build directory name includes the name of
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 203 the target, the selection of services to be included based on the GPRS, SRVC
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 204 and FCHG_STATE variables, and a -470 or -gcc suffix indicating the compiler
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 205 toolchain, but if you manually override any of the other config variables
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 206 described above, you should also include a SUFFIX=-xxx argument giving an
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 207 identifying suffix for your own configuration changes.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 208
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 209 To actually compile the firmware, cd into the created build directory and run
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 210 make there. With gcc the build proceeds very fast because the compiler runs
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 211 natively, but building with the original TMS470 compiler requires going through
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 212 Wine, which is much slower. There is, however, a trick to speed up these
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 213 TMS470 builds: if you run some other Wine program that stays open and does not
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 214 exit on its own (e.g., wine cmd) in another window and leave it open while you
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 215 run your Selenite TMS470 build, the build will proceed much faster - the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 216 presence of another Wine process using the wineserver environment will keep
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 217 Wine from shutting this environment down and restarting it for every individual
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 218 cl470 run, i.e., for each individual C source file.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 219
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 220 When the build is done, the flashable firmware image will be in fwimage.bin.
124
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 221 This image is to be flashed with fc-loadtool at a target-dependent base address.
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 222 The build system also produces a short text file named flash-script which is a
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 223 flashing command script for fc-loadtool that erases the correct range of flash
4238e3220682
doc/Compiling: updated for C155 support, RVTMUX_ON_MODEM config var
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 224 sectors and then programs fwimage.bin at the right address.
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 225
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 226 When building firmware for the FCDEV3B or for the Pirelli, one can build either
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 227 a flashable image or a RAM-loadable one - or both. Because this part of the
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 228 build system is common with other targets for which only flash images can be
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 229 produced, the Makefile always builds the flashable image by default -
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 230 fwimage.bin is always meant for flash and never for RAM. To build a RAM-
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 231 loadable image when the target allows it, run 'make ram' - the image will be in
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 232 ramimage.srec, which you can then load and run on the target with FreeCalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 233 host tool fc-xram.
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 234
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 235 Running on the hardware
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 236 =======================
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 237
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 238 In order to run the firmware you have built on your FCDEV3B or other Calypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 239 device (flash or run in RAM as appropriate), you will need to use FreeCalypso
182
5e1436690fe3
doc/Compiling: tangomdm target added, other minor updates
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 240 host tools. The current version at any given moment can be found at this URL:
109
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
+ − 241
182
5e1436690fe3
doc/Compiling: tangomdm target added, other minor updates
Mychaela Falconia <falcon@freecalypso.org>
diff
changeset
+ − 242 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-latest.tar.bz2
128
+ − 243
+ − 244 Please see the Running-on-hw article for further instructions.