FreeCalypso > hg > tcs211-fcmodem
comparison README @ 21:0f832c4c3db8 default tip
README for the tcs211-fcmodem tree
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 23 Sep 2016 19:58:17 +0000 |
| parents | 3e89489a43b3 |
| children |
comparison
equal
deleted
inserted
replaced
| 20:a1d085f6d7e9 | 21:0f832c4c3db8 |
|---|---|
| 1 This is a special debug version of leo2moko intended for use by FreeCalypso | 1 The intended purpose of this source tree is to serve as the official version of |
| 2 developers only; it does not provide any additional features for Freerunner | 2 the stable TCS211 firmware for FreeCalypso modem products, i.e., for hardware |
| 3 users beyond standard leo2moko-r1 aka moko12; non-developer users are advised | 3 devices designed and built under the auspices of the FreeCalypso Project - if |
| 4 to stay with the just-mentioned stable release. | 4 we ever succeed in actually producing any such hardware. |
| 5 | 5 |
| 6 The primary intended use of this debug fw version is to enable FreeCalypso | 6 This tree introduces a few simple hacks which allow us to build slightly |
| 7 developers to troubleshoot misbehavior in our current gcc-built fw version | 7 different firmware images as required for different targets (all supported |
| 8 by comparing the operation of the fw against a known working reference; | 8 targets must be simple modems close to the original Leonardo, no Compal/Pirelli |
| 9 the debug features added in this version are: | 9 targets!) from the same source - a capability not envisioned at all in TI's |
| 10 semi-source delivery scheme. At the present moment only two targets are | |
| 11 supported: gtamodem and fcdev3b. | |
| 10 | 12 |
| 11 * Same AT-over-RVTMUX mechanism as implemented in FreeCalypso mainline; | 13 VERY IMPORTANT NOTE: As of this writing, the FCDEV3B has not been physically |
| 14 built yet (at least not openly - it is possible that some anonymous company may | |
| 15 have built some in secrecy without our involvement, but naturally we have no | |
| 16 way of knowing whether or not any such thing happened), thus the preliminary | |
| 17 support for the fcdev3b target in this source tree is of the "pre-hardware" | |
| 18 kind. I expect that some additional work will be needed before this code will | |
| 19 actually be correct for the FCDEV3B, but I don't plan on doing this work until | |
| 20 we get the boards physically built and I have some real hardware to play with. | |
| 12 | 21 |
| 13 * ETM FFS access protocol changed from TMFFS1 (used by some TI Windows tools, | 22 The takeaway from this situation is as follows: if anyone attempts to build |
| 14 apparently) to TMFFS2 (the version adopted for FreeCalypso) to allow the | 23 their own FCDEV3B hardware in secrecy, bypassing the FreeCalypso core team, |
| 15 flash file system to be manipulated with fc-fsio while this fw is running. | 24 don't expect our software to work on such unethically-built hardware: more |
| 25 likely than not, it WON'T work. So instead of trying to bypass us, please work | |
| 26 *with us*. | |
| 16 | 27 |
| 17 * The pf_TaskEntry() function in the guts of GPF has been patched to not | 28 ===================== |
| 18 disable system traces. Verbose traces from various entities still need | 29 Building the firmware |
| 19 to be enabled explicitly, but the expected responses to sysprim commands | 30 ===================== |
| 20 are no longer suppressed. | 31 |
| 32 Like all TCS211 variants, this firmware builds with TI's proprietary compiler | |
| 33 which exists only in the form of Windows binaries sans source. However, we | |
| 34 run TI's Windows-targeted build environment only under Wine under Slackware | |
| 35 Linux and never under real Windows; furthermore, we have made a few add-ons of | |
| 36 our own to TI's build system, and these _required_ add-ons are implemented as | |
| 37 native Unix/Linux Bourne shell scripts, not Windows - hence if you are a Windows | |
| 38 user, you are on your own. | |
| 39 | |
| 40 Therefore, the following instructions assume that your native OS is GNU/Linux | |
| 41 (preferably Slackware) and that you are using the Wine environment we have | |
| 42 packaged: | |
| 43 | |
| 44 ftp://ftp.freecalypso.org/pub/GSM/TI_src/wine/ | |
| 45 | |
| 46 As explained in the README file in the above FTP directory, you will need to | |
| 47 extract the installed-env.tar.xz tarball into your ~/.wine/drive_c directory. | |
| 48 You will also need to compile and install the nowhine.c wrapper, or edit | |
| 49 g23m/winebuild.sh to invoke wine directly instead of nowhine. | |
| 50 | |
| 51 You will also need this utility: | |
| 52 | |
| 53 ftp://ftp.freecalypso.org/pub/GSM/GTA02/gsm-fw/mokosrec2bin.c | |
| 54 | |
| 55 Once you have all necessary tools installed on your build machine, the actual | |
| 56 build needs to be performed as follows: | |
| 57 | |
| 58 cd g23m | |
| 59 ./select_target.sh gtamodem | |
| 60 ./winebuild.sh | |
| 61 ./copyout.sh | |
| 62 | |
| 63 The argument to the select_target.sh script selects the hardware target for | |
| 64 which the firmware should be built: right now only the gtamodem configuration | |
| 65 works; once we get the FCDEV3B physically built and make the necessary code | |
| 66 changes for it, you'll be able to run './select_target.sh fcdev3b' instead and | |
| 67 build firmware for the FCDEV3B. | |
| 68 | |
| 69 The winebuild.sh script performs the actual build once the target selection has | |
| 70 been set; the build output will be in the __out__/gsm_<blah>/bin directory. | |
| 71 The copyout.sh script is a workaround for the insanely long file and directory | |
| 72 names: it copies and renames the final output files from TI's nasty build | |
| 73 system, giving them shorter names that one can actually remember and type. It | |
| 74 also converts the firmware image file from TI's m0 format (byte-swapped SREC) | |
| 75 to straight binary for more convenient flashing with fc-loadtool; this latter | |
| 76 conversion is what the mokosrec2bin utility is for. |
