annotate doc/Freerunner-Howto @ 923:10b4bed10192

gsm-fw/L1: fix for the DSP patch corruption bug The L1 code we got from the LoCosto fw contains a feature for DSP CPU load measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the code dealing with that feature is conditionalized as #if (DSP >= 38), but one spot was missed, and the MCU code was writing into an API word dealing with this feature. In TCS211 this DSP API word happens to be used by the DSP code patch, hence that write was corrupting the patched DSP code.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Mon, 19 Oct 2015 17:13:56 +0000
parents 4fa939eada22
children 7d3f0910aeb2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
864
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
1 How to play with FreeCalypso GSM firmware on a Neo Freerunner
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
2 =============================================================
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
3
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
4 Aside from the half-source leo2moko fw we produced back in 2013-10 (you can
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
5 read all about that one at www.freecalypso.org/leo2moko/), we don't have a
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
6 working free GSM firmware version for the Freerunner yet. What we do have
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
7 currently is experimental code that can be built into an image that can be
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
8 flashed into a GTA02 modem - but it doesn't really work yet.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
9
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
10 If you would like to play with our experimental code on your Neo FR and maybe
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
11 help us make it work, here are the instructions:
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
12
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
13 1. Build the firmware in the gtamodem-gsm configuration - see the Compiling
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
14 document for more details;
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
15
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
16 2. You should get a flashImage.bin image built; now you need to flash it into
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
17 your FR's modem. The serial cable method is highly recommended: the only
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
18 thing you'll be able to do with our current non-working firmware is help us
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
19 debug it, and the serial cable will be needed for the latter part anyway.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
20
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
21 3. Run fc-loadtool the same way you would if you were flashing leo2moko;
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
22
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
23 4. The actual flash programming commands are a little different because the
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
24 image is smaller and in a different format:
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
25
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
26 flash erase 0 0x160000
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
27 flash program-bin 0 finlink/flashImage.bin
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
28
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
29 The second number in the flash erase command needs to be the size of
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
30 flashImage.bin rounded up to a multiple of 64 KiB (the flash sector size in the
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
31 GTA02 modem); 0x160000 is correct for the fw image size as of this writing, but
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
32 please double-check it yourself before flashing. The 0 argument in the
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
33 flash program-bin command is the flash offset at which the image should be
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
34 programmed: it will always be 0 for FreeCalypso flashable fw images for gtamodem
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
35 and other targets that have the Calypso boot ROM enabled in the hardware.
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
36
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
37 Once you have flashed our experimental fw into your modem, you can power-cycle
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
38 the modem and see the new fw boot. You should have the serial cable connected,
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
39 the serial channel enabled from the Freerunner's AP side and either rvtdump or
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
40 rvinterf running on your PC or other development machine when you first power
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
41 your modem up with the experimental fw in it: this way you will see whether the
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
42 fw boots successfully or crashes. If it does boot without crashing (whether or
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
43 not it does seems to depend on some factors which we have yet to understand),
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
44 you will get an AT command interface on the other UART going to the Freerunner's
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
45 AP - now go ahead and play from there. :)
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
46
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
47 To reflash your modem back to stable and working leo2moko aka moko12, execute
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
48 the following fc-loadtool commands:
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
49
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
50 flash erase 0 0x230000
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
51 flash program-m0 leo2moko.m0
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
52
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
53 (Whichever firmware image you are flashing, the flash erase command needs to
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
54 cover the range of flash sectors this image will occupy. You can erase more
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
55 sectors up to 0x300000, the "natural" boundary of the flash area where fw
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
56 images live, but I prefer to erase only the needed number of sectors: it is
4fa939eada22 documentation update: how to compile and flash experimental gsm-fw for gtamodem
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff changeset
57 both faster and imposes less wear on the flash.)