FreeCalypso > hg > freecalypso-sw
annotate doc/Compiling @ 1012:93f4fc26b204
fc-shell: arbitrary send command implemented in one-shot mode
| author | Mychaela Falconia <falcon@ivan.Harhan.ORG> | 
|---|---|
| date | Sun, 20 Mar 2016 22:06:11 +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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
changeset | 43 them. | 
| 
2d986b8c0e4e
doc/Compiling: added explanation of extra host tools with library dependencies
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: 
864diff
changeset | 44 | 
| 
2d986b8c0e4e
doc/Compiling: added explanation of extra host tools with library dependencies
 Mychaela Falconia <falcon@ivan.Harhan.ORG> parents: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
864diff
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: 
463diff
changeset | 86 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
changeset | 88 ================================== | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
changeset | 89 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
changeset | 92 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
changeset | 96 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
changeset | 103 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
changeset | 107 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
changeset | 110 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
changeset | 114 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
changeset | 116 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
changeset | 118 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
changeset | 120 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
changeset | 128 | 
| 
4fa939eada22
documentation update: how to compile and flash experimental gsm-fw for gtamodem
 Space Falcon <falcon@ivan.Harhan.ORG> parents: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
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: 
463diff
changeset | 140 specific notes for more details. | 
