FreeCalypso > hg > freecalypso-sw
annotate doc/Compiling @ 975:0d7cc054ef72
rvinterf/lowlevel: updates for the new knowledge of TM predating ETM
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Sun, 15 Nov 2015 04:26:10 +0000 |
parents | 2d986b8c0e4e |
children |
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. |