annotate doc/Compiling @ 992:a7b0b426f9ca

target-utils: boot ROM UART autodetection revamped The new implementation should work with both the familiar Calypso C035 boot ROM version found in our regular targets as well as the older Calypso F741979B version found on the vintage D-Sample board.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Wed, 30 Dec 2015 21:28:41 +0000
parents 2d986b8c0e4e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
463
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 There are 3 parts to the complete FreeCalypso software suite which are built
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 independently of each other:
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 * The tools that run on a GNU/Linux PC or other host system are the most
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 straightforward: there is a top level Makefile (named Makefile.hosttools if
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 you looking at a development source snapshot, will be renamed to just
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 Makefile in packaged releases of the host tools) that coordinates building
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 and installing all of them.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 * The gsm-fw tree, which will eventually become our main GSM firmware, needs to
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 be built with a GNU cross-compiler toolchain for ARM7. This firmware can be
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 built for several different target devices and with different feature
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 configurations, hence there is no singular build for it - it's more like the
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 Linux kernel in terms of its build configuration management.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 * We also have a few utilities which need to be compiled to run on Calypso
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 targets, but which are not part of gsm-fw; they are gathered in the
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 target-utils tree. They are built with the same GNU toolchain for ARM7 as
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 gsm-fw, but don't have any fancy configuration system.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 Building and installing FreeCalypso host tools
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 ==============================================
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 If you are working with a packaged FC host tools release, just run 'make', then
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 'make install' as root. If you are working with a development source snapshot,
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 do 'make -f Makefile.hosttools' instead.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28 The "standard" install directories are /usr/local/bin for binaries and
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 /usr/local/share/freecalypso for helper files. If you need to change these
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30 paths to something else, you'll need to edit a bunch of individual component
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31 Makefiles, and possibly also some source files like loadtools/defpath.c -
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 sorry, FreeCalypso is not GNU and does not use autotools.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33
968
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
34 All FreeCalypso host tools are written in plain C, and with the exception of a
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
35 few utilities in the "special-purpose hacks" category, they have absolutely no
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
36 library dependencies beyond libc. In other words, they are very friendly to
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
37 those who like bare bones minimalist systems. The only exceptions are
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
38 fc-getpirimei and fc-pirhackinit which use libcrypto from OpenSSL for DES
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
39 functions, and fc-lcdemu which needs libX11 to compile and an X11 display to
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
40 run. But as you can read in Host-tools-overview, these utilities are not
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
41 particularly important, so if your system lacks those libraries, just edit the
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
42 Makefiles to not build these utilities - it is very unlikely that you will miss
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
43 them.
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
44
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
45 To those who are going to build distro packages from these fc-host-tools: it
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
46 is recommended that you leave fc-getpirimei, fc-pirhackinit and fc-lcdemu out
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
47 of the basic package - please don't create extra dependencies just to support a
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
48 few odd hacks which are unlikely to ever be used by anyone other than the
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
49 developer who needed them at one time and no longer even uses them herself as
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
50 their original one-time purpose has already been served.
2d986b8c0e4e doc/Compiling: added explanation of extra host tools with library dependencies
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 864
diff changeset
51
463
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
52 Building and installing the ARM7 toolchain
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
53 ==========================================
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
54
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
55 The current "official" GNU ARM toolchain for FreeCalypso consists of
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
56 binutils-2.21.1, gcc-4.5.4 and newlib-2.0.0 with a specific set of patches and
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
57 build configuration options. Build it as follows:
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
58
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
59 1. Download these 3 source tarballs for the standard GNU+newlib components:
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
60
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
61 binutils-2.21.1a.tar.bz2
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
62 gcc-core-4.5.4.tar.bz2
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
63 newlib-2.0.0.tar.gz
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
64
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65 2. Run the build+install.sh script in the toolchain directory. Read the
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66 comments in the script first for the usage instructions.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
68 The toolchain thus built will need to be in your PATH before you can compile
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69 gsm-fw or target-utils.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 Please note: the toolchain that is prescribed for FreeCalypso as above is
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 *believed* to be equivalent to the one used by OsmocomBB, but there are no
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 guarantees. Use any other toolchain at your own risk.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75 Compiling target-utils
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
76 ======================
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
77
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
78 Running 'make' in the target-utils tree with the ARM7 toolchain present in your
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79 PATH will result in compalstage and loadagent being built; these are the two
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
80 components needed in order to use FreeCalypso loadtools. Run 'make install' to
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
81 install these target binaries in /usr/local/share/freecalypso, which is where
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
82 loadtools will look for them.
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84 Run 'make all' in target-utils to build some other components that aren't
aad742029813 doc/Compiling: everything except gsm-fw
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85 really needed.
864
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
86
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
87 Compiling FreeCalypso GSM firmware
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
88 ==================================
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
89
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
90 The firmware in our gsm-fw tree can be built in many different configurations,
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
91 hence there is no singular build for it. The configuration choices consist of:
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
92
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
93 * Which target device the firmware should be built for: the target device
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
94 selection is made at compile time; do not attempt to take a firmware image
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
95 built for one target device and flash or fc-xram it into another!
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
96
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
97 * What functionality is to be included. As the FreeCalypso firmware subproject
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
98 moves forward, we gradually add chunks of functionality, slowly approaching
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
99 what each target device is ultimately capable of. However, each time we add
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
100 a new piece of functionality, the ability to build a firmware image that works
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
101 like before, without the newly added functionality, still remains. Each
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
102 feature to be included needs to be explicitly selected.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
103
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
104 * Miscellaneous configuration: which Calypso UART should be used for what,
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
105 should the firmware use a real FFS (flash file system) in flash or a fake one
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
106 in RAM, etc.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
107
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
108 The GSM firmware build configuration is set by way of an editable text file
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
109 named build.conf; the configuration and build procedure is as follows:
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
110
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
111 1. Look at the available repertoire of standard configurations under
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
112 gsm-fw/configs and choose which one you would like to use, either as-is or
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
113 as a basis for your own;
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
114
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
115 2. Copy the configuration you selected to build.conf in the gsm-fw directory;
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
116
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
117 3. Optionally edit it to taste - the configuration language is Bourne shell;
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
118
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
119 4. Run 'make' in the gsm-fw directory.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
120
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
121 Depending on the configuration, either a flashable or a RAM-loadable image will
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
122 be built by default. A flashable image will appear in finlink/flashImage.bin;
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
123 these images are meant to be programmed with fc-loadtool's flash program-bin
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
124 command; the starting flash address at which the image needs to be programmed
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
125 depends on the target device - see target-specific notes. A RAM-loadable image
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
126 will appear in finlink/ramImage.srec; these images are meant to be loaded and
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
127 run with the fc-xram utility.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
128
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
129 It is possible to build either a flashable or a RAM-loadable image, or both,
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
130 without changing build.conf: run 'make flashImage' or 'make ramImage' as
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
131 desired. (The compilation of each module from source into a .o and all
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
132 intermediate linking steps are agnostic to whether a flashImage or a ramImage
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
133 is being built, only the very final link step differs.) Any otherwise working
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
134 configuration can be built into a flashImage, even if it makes no logical sense
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
135 to do so, but the ability to build a ramImage for a given configuration depends
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
136 on the code image size (which in turn depends on the selected feature set) and
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
137 the amount of RAM available on the target in question: most Calypso GSM devices
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
138 have small RAM, enough to satisfy a GSM firmware's data space requirements, but
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
139 not enough to hold the entire firmware code in RAM as well. Please see target-
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 463
diff changeset
140 specific notes for more details.