FreeCalypso > hg > freecalypso-tools
comparison rvinterf/etmsync/fsio.help @ 24:2323849a5a91
rvinterf/etmsync/fsio.help written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 23 Oct 2016 00:50:49 +0000 |
parents | |
children | a9bd4b15f502 |
comparison
equal
deleted
inserted
replaced
23:10b71f01f4ff | 24:2323849a5a91 |
---|---|
1 === main | |
2 === all | |
3 The following commands are available: | |
4 | |
5 cpout Copy content out of device FFS to host file system | |
6 cpout-file Copy out a single file | |
7 delete Delete FFS object | |
8 dieid Retrieve Calypso die ID via ETM query | |
9 exec Execute a command script | |
10 exit Exit from fc-fsio | |
11 fd Low level file descriptor operations | |
12 ffs2ver TMFFS2 version query | |
13 format Format FFS on device (dangerous!) | |
14 fwrite Write a file into device FFS | |
15 hd Hex dump of a file in FFS | |
16 ls Directory listing | |
17 ll Shorthand for ls -l | |
18 memdump Dump a target memory region via ETM command | |
19 omemdump Dump a target memory region via TM3 command | |
20 mkdir Create a directory in device FFS | |
21 mk-std-dirs Create standard set of FFS directories | |
22 pirelli-get-imei Retrieve factory IMEI on Pirelli DP-L10 | |
23 pirelli-magnetite-init Initialize FFS for FC Magnetite fw on Pirelli target | |
24 preformat Preformat FFS on device (dangerous!) | |
25 readlink Raw interface to ffs_readlink() API call | |
26 set-imeisv Write /etc/IMEISV or /pcm/IMEI file | |
27 set-pcm-string Write /pcm/CGxx files | |
28 set-rfcap Write /gsm/com/rfcap file | |
29 stat Raw interface to ffs_xlstat() API call | |
30 symlink Create a symlink in device FFS | |
31 upload-file Upload a file into device FFS | |
32 upload-fs Upload a complete file system tree into device FFS | |
33 upload-subtree Upload a subtree into device FFS | |
34 | |
35 To get help on any command, type help and the command keyword. | |
36 | |
37 The RTOS environment inside GSM device firmwares with which this utility | |
38 communicates has no notion of a current directory, hence all target side | |
39 FFS pathnames must be absolute. | |
40 | |
41 === cpout | |
42 cpout target-pathname host-pathname | |
43 | |
44 This command copies a single file, a directory subtree or the complete device | |
45 file system tree from the target device FFS to your Unix host file system. | |
46 | |
47 === cpout-file | |
48 cpout-file target-pathname host-pathname | |
49 | |
50 This command is like regular cpout, but assumes that the target pathname refers | |
51 to a single file and not a directory, and skips the pathname validation and | |
52 xlstat query steps toward that end. | |
53 | |
54 === delete | |
55 delete ffs-pathname | |
56 | |
57 This command deletes the named object in the device FFS, which must be a regular | |
58 file, an empty directory or a symlink. | |
59 | |
60 Note that in classic UNIX there are two different "delete file system object" | |
61 elementary operations: unlink for regular files or symlinks and rmdir for empty | |
62 directories, but TI's FFS implementation provides a single ffs_remove() API call | |
63 instead for deleting all 3 object types; our delete command is the interface to | |
64 this ffs_remove() API call. | |
65 | |
66 === dieid | |
67 This command sends an ETM query for the Calypso die ID to the running firmware | |
68 on the target and displays the returned result. | |
69 | |
70 === exec | |
71 exec script-filename | |
72 | |
73 This command executes an fc-fsio command script; each line in the script file | |
74 is interpreted and executed as an fc-fsio command. | |
75 | |
76 If the execution of any command in the script file encounters an error, the | |
77 processing of the script is stopped and the following commands won't be | |
78 executed. | |
79 | |
80 === exit | |
81 This command is self-explanatory. | |
82 | |
83 === fd | |
84 fd open ffs-pathname flags | |
85 fd read tfd nbytes | |
86 fd close tfd | |
87 | |
88 These low-level debug commands provide a raw interface to FFS file descriptor | |
89 operations ffs_open(), ffs_read() and ffs_close(); they are intended for deep | |
90 developers only. | |
91 | |
92 === ffs2ver | |
93 This command sends a TMFFS2 version query ETM packet to the running firmware | |
94 on the target and displays the returned result. | |
95 | |
96 === format | |
97 format format-name | |
98 | |
99 This command requests the GSM device firmware to format its flash file system. | |
100 The "format name" argument must begin with a forward slash and will be stored | |
101 in the root inode of the newly created FFS; it can also contain some FFS tuning | |
102 settings - see the FFS firmware component source code for the details. It is | |
103 usually sufficient to set the "format name" aka the root inode name to just /, | |
104 although some production lines (TI and Openmoko) have set it to /ffs-root. | |
105 | |
106 The FFS component in the firmware will normally accept this command only when | |
107 the FFS is in the unformatted state; if instead you wish to blow away an | |
108 existing format, see the preformat command. | |
109 | |
110 === fwrite | |
111 fwrite ffs-pathname ascii "ASCII string content" | |
112 fwrite ffs-pathname hex "xx xx xx xx ..." | |
113 fwrite ffs-pathname file host-filename | |
114 | |
115 This command creates a file or overwrites an existing file in the device FFS, | |
116 using an ASCII string, a binary string given as hex bytes or a host file as the | |
117 content to be written. | |
118 | |
119 === hd | |
120 hd ffs-pathname | |
121 | |
122 This command displays a hex dump of the named file in FFS, which must be a | |
123 regular file. It will only work if the size of the file is 254 bytes or less; | |
124 to examine larger FFS files, you will need to read them out with the cpout or | |
125 cpout-file command. | |
126 | |
127 === ls | |
128 ls [-l] ffs-pathname | |
129 | |
130 This command works much like the classic UNIX ls command, but on the flash file | |
131 system of a GSM device. In the basic form (without -l) the named FFS object | |
132 must be a directory, and the operation of the ls command is limited to ETM | |
133 packet exchanges corresponding to ffs_opendir() and ffs_readdir() API calls. | |
134 In the long form (with -l) the named FFS object may be of any type (file, | |
135 directory or symlink), and the operation of the ls command involves additional | |
136 ETM packet exchanges corresponding to the ffs_xlstat() API call, as well as some | |
137 FFS pathname validation and manipulation inside the fc-fsio utility itself. | |
138 | |
139 === ll | |
140 ll ffs-pathname | |
141 | |
142 This command is a shorthand for ls -l on the given FFS pathname. | |
143 | |
144 === memdump | |
145 memdump addr length | |
146 | |
147 This command requests a read of a target memory address range via the ETM | |
148 memory read command, and displays the returned bytes as a hex dump. | |
149 Both arguments are always interpreted as hexadecimal, and the length may not | |
150 exceed 0xEE (238 decimal) - the limit for the ETM memory read command. | |
151 | |
152 === omemdump | |
153 omemdump addr length | |
154 | |
155 This command requests a read of a target memory address range via the TM3 | |
156 memory read command, and displays the returned bytes as a hex dump. | |
157 Both arguments are always interpreted as hexadecimal, and the length may not | |
158 exceed 0x7C (124 decimal) - the limit for the TM3 memory read command. | |
159 | |
160 === mkdir | |
161 mkdir ffs-pathname | |
162 | |
163 This command creates a directory object in the target device FFS at the | |
164 specified pathname. If the named directory already exists, it is not an error, | |
165 but it is an error if a non-directory object exists at that pathname. | |
166 | |
167 === mk-std-dirs | |
168 This command creates the standard set of FFS directories, or rather the set | |
169 deemed as standard for our FreeCalypso firmware projects based on or inspired | |
170 by TI's TCS211. This set currently consists of: | |
171 | |
172 /gsm | |
173 /gsm/com | |
174 /gsm/rf | |
175 /gsm/rf/rx | |
176 /gsm/rf/tx | |
177 /pcm | |
178 /sys | |
179 /mmi | |
180 /var | |
181 /var/dbg | |
182 /aud | |
183 /etc | |
184 | |
185 Each directory is created as if by our mkdir command, i.e., it is not an error | |
186 if that directory already exists, but it is an error if a non-directory object | |
187 exists at that pathname. | |
188 | |
189 === pirelli-get-imei | |
190 This command works only if the GSM device with whose firmware fc-fsio is | |
191 communicating is a Pirelli DP-L10, and only if that fw is either one of | |
192 Foxconn/Pirelli's official versions or FC Magnetite - it will not work against | |
193 FC Citrine firmware. When run against a Pirelli phone with a compatible fw | |
194 version, this command will retrieve and display Pirelli's factory IMEI. | |
195 | |
196 === pirelli-magnetite-init | |
197 This command may only be run against FC Magnetite firmware running on the | |
198 Pirelli DP-L10 target, and never against any other target/firmware combination. | |
199 See FreeCalypso Magnetite firmware documentation for the details. | |
200 | |
201 === preformat | |
202 This command requests the GSM device firmware to blow away its flash file system | |
203 and prepare for a new format. DO NOT issue this command unless you really wish | |
204 to blow away your FFS, and if you really do wish to perform this drastic | |
205 operation, the firmware should be fully quiescent with GSM off as in AT+CFUN=0. | |
206 | |
207 === readlink | |
208 readlink ffs-pathname | |
209 | |
210 This command provides raw access to the ffs_readlink() API call and displays | |
211 the returned response as a hex dump. Use ls -l (or ll) as a more user-friendly | |
212 interface. | |
213 | |
214 === set-imeisv | |
215 set-imeisv fc XXXXXXXX-YYYYYY-ZZ # write /etc/IMEISV | |
216 set-imeisv pcm XXXXXXXX-YYYYYY-ZZ # write /pcm/IMEI | |
217 | |
218 This command sets the IMEISV to be used for GSM operation and stores it either | |
219 in /etc/IMEISV (one format) or /pcm/IMEI (a different format) depending on the | |
220 "fc" or "pcm" keyword argument. Please refer to the doc/IMEI article in the | |
221 FreeCalypso host tools source package for the explanation as to when you should | |
222 use which. | |
223 | |
224 For the IMEISV argument 16 decimal digits must always be given; punctuation is | |
225 optional and may be placed anywhere. | |
226 | |
227 === set-pcm-string | |
228 set-pcm-string CGxx "ASCII string content" | |
229 | |
230 This command writes the /pcm/CGxx files whose content is displayed by AT+CGxx | |
231 commands; CGxx must be one of CGMI, CGMM, CGMR or CGSN. The length of these | |
232 ASCII string files is limited to 20 characters by TI's firmware design. | |
233 | |
234 === set-rfcap | |
235 This command writes the /gsm/com/rfcap file to communicate the hardware RF band | |
236 configuration to the firmware as follows: | |
237 | |
238 set-rfcap dual-eu # 900/1800 MHz single-region dual-band | |
239 set-rfcap dual-us # 850/1900 MHz single-region dual-band | |
240 set-rfcap tri900 # 900/1800/1900 MHz triband | |
241 set-rfcap tri850 # 850/1800/1900 MHz triband | |
242 set-rfcap quad # All 4 bands | |
243 | |
244 === stat | |
245 stat ffs-pathname | |
246 | |
247 This command provides raw access to the ffs_xlstat() API call; the information | |
248 returned by this call and displayed by this command is similar to what you would | |
249 get with the lstat system call in classic UNIX. | |
250 | |
251 Use ls -l (or ll) as a more user-friendly interface. | |
252 | |
253 === symlink | |
254 symlink link-target-pathname link-object-pathname | |
255 | |
256 This command creates a symlink object in the FFS; the 2nd argument is the | |
257 pathname at which the object is to be created and the 1st argument is the link | |
258 target string to be written into this symlink object - the order of the | |
259 arguments matches the classic UNIX symlink system call. | |
260 | |
261 Note that although TI's FFS implementation supports symlinks, it appears that | |
262 no production configuration has ever used them. | |
263 | |
264 === upload-file | |
265 upload-file host-file target-file | |
266 | |
267 This command uploads a single regular file from your Unix host file system into | |
268 the target device FFS. | |
269 | |
270 === upload-fs | |
271 upload-fs host-dir | |
272 | |
273 This command uploads an entire file system tree from the given host location | |
274 into the target device FFS at the root level. | |
275 | |
276 === upload-subtree | |
277 upload-subtree host-dir target-dir | |
278 | |
279 This command uploads a directory subtree from your Unix host file system into | |
280 the given non-root directory in the target device FFS. | |
281 |