FreeCalypso > hg > freecalypso-citrine
comparison doc/Pirelli-Howto @ 28:cb00b90edaff
documentation write-ups imported from freecalypso-sw and updated for Citrine
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sun, 12 Jun 2016 18:28:35 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 27:3ecd6054a7f7 | 28:cb00b90edaff |
|---|---|
| 1 How to play with FreeCalypso GSM firmware on a Pirelli DP-L10 | |
| 2 ============================================================= | |
| 3 | |
| 4 One very useful special feature of the Pirelli DP-L10 is its very large RAM: | |
| 5 8 MiB. Having such large RAM allows us to run our experimental fw on this | |
| 6 target entirely from RAM, without touching the flash. When you compile a | |
| 7 FreeCalypso Citrine fw image for the Pirelli target, by default a ramImage will | |
| 8 be built instead of a flashImage. It is possible to build a flashable image of | |
| 9 the fw in the same configuration and program it into flash with fc-loadtool, | |
| 10 but doing so is not recommended: our current fw has no battery management code, | |
| 11 so the charging hardware circuit will never be enabled and the battery will | |
| 12 discharge even with a USB power source connected; keeping Pirelli's original | |
| 13 fw in flash will allow the phone to charge its battery and otherwise function | |
| 14 normally when you are not in the middle of a FreeCalypso firmware experiment. | |
| 15 | |
| 16 If you are ready to play with our experimental GSM pseudo-modem fw on your | |
| 17 Pirelli, the steps are as follows: | |
| 18 | |
| 19 1. Build the firmware in the pirelli-gsm-rvtat configuration - see the | |
| 20 Compiling document for more details. | |
| 21 | |
| 22 2. Connect a USB cable from your GNU/Linux PC/laptop to the phone. If the | |
| 23 phone was off but the battery is present, it will go through a charger-plug | |
| 24 power-on event; if the flash contains Pirelli's original fw, it will boot in | |
| 25 the charging mode. If the battery is not present, the Calypso won't power | |
| 26 on (it needs VBAT and can't run on VCHG power instead), but the /dev/ttyUSBx | |
| 27 device will still show up, as the CP2102 USB-serial chip inside the phone is | |
| 28 powered strictly from the USB side. | |
| 29 | |
| 30 3. Run a command like the following: | |
| 31 | |
| 32 fc-xram -h pirelli /dev/ttyUSB0 finlink/ramImage.srec rvinterf | |
| 33 | |
| 34 Adjust the paths to your /dev/ttyUSBx device and your ramImage.srec as | |
| 35 appropriate, and add rvinterf logging or other options as desired. | |
| 36 Specifying rvinterf on the fc-xram command line directs fc-xram to exec | |
| 37 rvinterf and pass the serial channel to it immediately as soon as the code | |
| 38 image has been loaded into target RAM and jumped to; this direct passing of | |
| 39 the serial channel from fc-xram to rvinterf is appropriate because the | |
| 40 loaded fw will immediately start emitting binary trace packets in TI's RVTMUX | |
| 41 format. | |
| 42 | |
| 43 4. Induce the phone to execute its Calypso boot path: if the battery was | |
| 44 removed, insert it now; if Pirelli's regular fw is running, execute its | |
| 45 power-off sequence. | |
| 46 | |
| 47 Once the Calypso chip in the Pirelli phone executes its boot path with fc-xram | |
| 48 running, the boot path will be diverted and our experimental firmware will be | |
| 49 loaded into target device RAM and jumped to. Our fw will now run, and the | |
| 50 rvinterf process on the host will maintain communication with it. | |
| 51 | |
| 52 To exercise our firmware further, you will need to open another terminal window | |
| 53 on your driving PC/laptop and run fc-shell. This program will connect to the | |
| 54 already running rvinterf process via a local socket, and it will enable you to | |
| 55 send various commands to the running fw on the target, the most important ones | |
| 56 being standard AT commands. Send the following sequence of AT commands to | |
| 57 bring up GSM functionality: | |
| 58 | |
| 59 AT+CMEE=2 -- enable verbose error responses | |
| 60 AT+CFUN=1 -- enable radio and SIM interfaces | |
| 61 AT+COPS=0 -- register to the default GSM network | |
| 62 | |
| 63 When you are done playing with our experimental fw, you can either yank the | |
| 64 battery and kill the host side rvinterf and fc-shell processes, or you can | |
| 65 issue a 'tgtreset' command at the fc-shell prompt. The latter will cause the | |
| 66 target to reset and boot back into its regular firmware. |
