FreeCalypso > hg > freecalypso-sw
annotate rvinterf/README @ 910:d1333db6385f
rvinterf/etmsync refactoring: operation functions consolidated in fileio.c
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Tue, 08 Sep 2015 06:34:02 +0000 |
parents | f114f5c547ec |
children |
rev | line source |
---|---|
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
1 You are looking at the suite of FreeCalypso tools for talking to the RVTMUX |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
2 interface provided by TI-based GSM firmwares. If you haven't already, please |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
3 read ../doc/RVTMUX first. |
173
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 |
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
5 The fundamental difference between these tools and loadtools is that loadtools |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
6 operate on a GSM device while its regular firmware is shut down, whereas the |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
7 present rvinterf tools talk to active running GSM firmwares. |
173
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 |
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
9 The following tools are currently implemented: |
173
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
10 |
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 rvtdump Opens the serial port, decodes TI's binary packet protocol, and |
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 simply dumps every received/decoded packet on stdout in a human- |
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 readable form. No provision for sending anything to the target. |
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
14 Intended use: observing the debug trace output which all TI |
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
15 firmwares emit as standard "background noise". This utility |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
16 allows one to observe/log/study the "noise" that appears on |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
17 Pirelli's USB-serial port (running Pirelli's original fw), |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
18 as well as that emitted on the IrDA (headset jack) port on the |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
19 GTA02 by mokoN/leo2moko firmwares. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
20 |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
21 rvinterf Provides a bidirectional interface to RVTMUX on the host side. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
22 It dumps and/or logs the "background noise" emitted by the |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
23 target just like rvtdump, but also creates a local UNIX domain |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
24 socket on the host machine to which other programs can connect, |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
25 replicating the MUXing function on the host side. |
173
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
26 |
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
27 fc-tmsh Interactive asynchronous test mode shell. This program connects |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
28 to a target GSM device through rvinterf and allows a developer- |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
29 operator to send various ETM commands to the target. ETM |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
30 responses are decoded (sometimes only lightly) and displayed. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
31 fc-tmsh is fully asynchronous in that it continuously listens |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
32 (via select(2)) both for user input and for packets from the |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
33 target at the same time, translating any user-entered commands |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
34 into packets to the target and conversely, scribbling on the |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
35 terminal when a packet arrives from the target. It has no |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
36 knowledge of any correspondence between commands and responses |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
37 they normally elicit. |
173
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
38 |
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
39 g23sh Like fc-tmsh (same asynchronous design), but for GPF/G23 rather |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
40 than ETM. This tool and FreeCalypso project's understanding of |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
41 GPF/G23 in general are currently in the earliest stages, so it |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
42 is premature to try to describe it any further at this point. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
43 |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
44 fc-sendsp Precursor to g23sh; even less worthy of further documentation. |
173
f42854da4563
rvinterf: beginning of refactoring
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
45 |
429
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
46 fc-fsio This program uses RVTMUX, ETM and TMFFS2 to access the live file |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
47 system of a running GSM firmware. Of the existing proprietary |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
48 firmwares, the only one that implements the TMFFS2 protocol |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
49 required for fc-fsio is Pirelli's, to the best of our knowledge. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
50 This program connects to the target through rvinterf, but it |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
51 differs from fc-tmsh in that it operates in a synchronous |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
52 manner: the flow of operation is driven by user commands (just |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
53 like in fc-loadtool), and every time the program sends an ETM |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
54 command packet to the target, it expects a lock-step response. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
55 |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
56 tfc139 See ../doc/Compal-unlock |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
57 |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
58 The fc-fsio, fc-tmsh and g23sh tools connect to the target not directly, but |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
59 via rvinterf. Two usage scenarios are supported: |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
60 |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
61 1. The user explicitly runs rvinterf (either directly or secondary to fc-xram, |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
62 when testing an experimental FreeCalypso firmware ramImage), leaves it |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
63 running (either backgrounded or in its own terminal window), and then runs |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
64 one of the "client" programs: fc-fsio, fc-tmsh or g23sh. The two programs |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
65 connect via local UNIX domain sockets on the host machine. |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
66 |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
67 2. All of the "client" programs under discussion can also launch rvinterf |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
68 themselves. An instance of rvinterf lauched in this manner becomes a child |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
69 process of the "client" program, terminating together with it, and the two |
f114f5c547ec
rvinterf/README: beginning of proper documentation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
173
diff
changeset
|
70 processes communicate via an unnamed and unbound socket pair. |