FreeCalypso > hg > freecalypso-sw
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 |
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.) |