FreeCalypso > hg > freecalypso-tools
annotate doc/Pirelli-loadtools-entry @ 1000:39a6090a052a
doc/How-flash-really-works: article written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 09 Dec 2023 09:08:19 +0000 |
parents | 803e926e0699 |
children |
rev | line source |
---|---|
955
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Pirelli DP-L10 phone is a quirky Calypso target in that the same hardware |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 interface (USB) that provides access to the one easily accessible Calypso UART |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 also feeds charging power to the phone. The result of this arrangement is that |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 whenever you connect your phone to your computer for communication, programming |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 or tinkering, the charging voltage is always present and the Calypso+Iota |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 chipset never enters switched-off state: every "soft poweroff" operation is |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 converted by the hardware into a deep reboot. |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 You can force a "cold programming boot" cycle on your Pirelli phone by removing |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 the battery, connecting USB to the "debattered" phone, running fc-loadtool on |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 the ttyUSB device that appears, and then inserting the battery in one swift |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 motion - this sequence will be necessary if you brick your flash and need to |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 unbrick it - but of course it is hugely inconvenient for ordinary FreeCalypso |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 tinkering (such as running FreeCalypso VPM firmware builds via fc-xram), and |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 doing it too often will ruin battery spring contacts. The other alternative is |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 to let Pirelli's official fw boot fully (including GSM network registration) in |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 between cycles of fc-loadtool or fc-xram, and then do the switch-off operation |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 from the UI (press and hold red button on unlocked home screen) with fc-loadtool |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 or fc-xram running. But this option is also unattractive, as it involves |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 unwanted SIM bring-up and GSM network registration from Pirelli's fw. |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 As of fc-host-tools-r19 we have an improved solution in the form of -Petmoff |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 option to fc-loadtool, fc-xram, fc-simint etc. The usage scenario is as |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 follows: |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 * The phone needs to be in its "booted for charging only" state. With Pirelli's |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 official fw, this state is entered when you connect USB to a switched-off |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 phone, or when you execute the switch-off sequence from the UI with USB |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 connected. |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 * In this state, you issue a command like the following: |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 fc-loadtool -h pirelli -Petmoff /dev/ttyUSB0 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 or |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 fc-simint -h pirelli -Petmoff /dev/ttyUSB0 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 or |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 fc-xram -h pirelli -Petmoff /dev/ttyUSB0 ramimage.srec rvinterf |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 etc |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 This -Petmoff option (implemented as part of our generic boot control framework, |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 see Target-boot-control article) tells loadtools programs to send an ETM ABB |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 write (abbw) command to the target serial port, issuing a DEVOFF write to the |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 VRPCDEV register, just before going into the loop that sends beacons aiming to |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 interrupt the boot process at the Calypso boot ROM. This trick works because |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 Pirelli's official fw implements a TI-standard RVTMUX interface on the Calypso |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 IrDA UART behind USB, complete with ETM, and with USB applying VCHG to Iota |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 VRPC, the DEVOFF operation (soft poweroff) turns into a deep reboot. |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 Running loadtools programs with -Petmoff against a Pirelli phone that is fully |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 booted, as opposed to "booted for charging only" state, is possible but not |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 recommended: it will forcibly kill the running firmware without any kind of |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 clean shutdown. Strictly speaking, this option always effects the just- |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 described forced firmware kill, no matter which state the official fw happens |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 to be in, but if the fw is in its "booted for charging only" state, then there |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 are no ill effects to be concerned with. |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 When fc-loadtool or fc-simint/fc-simtool finishes with a clean exit, or when a |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 RAM-based firmware session started with fc-xram is cleanly finished with |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 fc-shell poweroff, the phone returns to the same "booted for charging only" |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 state. Therefore, multiple operations of fc-loadtool, fc-simtool or fc-xram, |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 each with -Petmoff option, may be performed back to back, just like how a |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 FreeCalypso developer using a proper FC dev board would run back-to-back |
803e926e0699
doc/Pirelli-loadtools-entry: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 sessions starting with -Pdtr or -Prts and ending with Iota poweroff. |