FreeCalypso > hg > freecalypso-sw
comparison loadtools/loadtool.help @ 105:02cb0206aa47
fc-loadtool help implemented
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Tue, 03 Sep 2013 07:31:26 +0000 |
parents | |
children | 4f8a9b2229e9 |
comparison
equal
deleted
inserted
replaced
104:f65df1d640aa | 105:02cb0206aa47 |
---|---|
1 This is the help file for fc-loadtool. See lthelp.c for the code | |
2 that parses and displays it. The parsing code is the only | |
3 documentation for the format of this help file - if you are going to | |
4 edit this help text, read the parsing code first. | |
5 | |
6 === main | |
7 This utility allows you to perform the following operations | |
8 on your Calypso GSM device: | |
9 | |
10 * Peek and poke registers | |
11 * Dump any part of memory | |
12 * Read and program flash | |
13 | |
14 See the following help topics for more information: | |
15 | |
16 help peekpoke Register peek and poke commands | |
17 help flash Flash operation commands | |
18 help all List of all implemented commands | |
19 help exit Controlling the cleanup on exit | |
20 | |
21 === all | |
22 baud Switch the serial comm with loadagent to a different baud rate | |
23 crc32 Get CRC-32 of a memory area on the target | |
24 dieid Read the Calypso die ID | |
25 dump Dump a target memory region in hex and ASCII | |
26 dump2bin Dump a target memory region to a file in binary format | |
27 dump2srec Dump a target memory region to a file in S-record format | |
28 exec Execute a command script | |
29 exit Exit from loadtool and clean up the target device state | |
30 flash Flash operations | |
31 flash2 Operations on the 2nd flash bank (Pirelli phone only) | |
32 quit Alias for exit | |
33 r8 Read an 8-bit register or memory location | |
34 r16 Read a 16-bit register or memory location | |
35 r32 Read a 32-bit register or memory location | |
36 w8 Write an 8-bit register or memory location | |
37 w16 Write a 16-bit register or memory location | |
38 w32 Write a 32-bit register or memory location | |
39 | |
40 To get help on any command, type help and the command keyword. | |
41 | |
42 === baud | |
43 baud Display the current baud rate | |
44 baud <rate> Switch the baud rate to <rate> (number in bps) | |
45 | |
46 The supported baud rates are: | |
47 | |
48 Standard: 19200, 38400, 57600, 115200 | |
49 Calypso special: 203125, 406250, 812500 | |
50 | |
51 The baud command coordinates the necessary simultaneous switching of the | |
52 baud rate on both the host and the target (loadagent). Loadagent always | |
53 supports all of the listed rates and will switch happily, but in the case | |
54 of the higher non-standard baud rates fc-loadtool has no way of knowing | |
55 ahead of time whether or not the requested baud rate is supported by your | |
56 usb2serial adapter or whatever other serial port hardware and driver | |
57 you are using. If the baud rate switch fails, the communication link with | |
58 the target will be broken and fc-loadtool will exit ungracefully. | |
59 | |
60 === crc32 | |
61 crc32 hex-start hex-len | |
62 | |
63 The first argument is the starting target memory address in hex; the second | |
64 argument is the length of the area to CRC, also in hex. The command will be | |
65 sent to loadagent; CRC-32 of the requested range will be computed on the target | |
66 and displayed in hex. | |
67 | |
68 === dieid | |
69 dieid Display the Calypso die ID | |
70 dieid <filename> Display the Calypso die ID, and also save it in the | |
71 named file | |
72 | |
73 The Calypso die ID resides in 4 16-bit registers at target addresses | |
74 0xFFFEF010 through 0xFFFEF016. It is displayed on the terminal and optionally | |
75 saved to a file in this simple form: | |
76 | |
77 FFFEF010: xxxx | |
78 FFFEF012: xxxx | |
79 FFFEF014: xxxx | |
80 FFFEF016: xxxx | |
81 | |
82 === dump | |
83 dump hex-start hex-len | |
84 | |
85 The first argument is the starting target memory address in hex; the second | |
86 argument is the length of the area to dump, also in hex. The dump will be | |
87 displayed on the terminal in hex and ASCII. | |
88 | |
89 === dump2bin | |
90 === dump2srec | |
91 dump2bin hex-start hex-len outfile | |
92 dump2srec hex-start hex-len outfile | |
93 | |
94 The first argument is the starting target memory address in hex; the second | |
95 argument is the length of the area to dump, also in hex; the third argument | |
96 is the name of the output file to be created/written. The dump will be saved | |
97 in binary or S-records as per the chosen command, always in the native byte | |
98 order of the Calypso ARM7 target (little-endian). | |
99 | |
100 === exec | |
101 exec <script-file> | |
102 | |
103 Read and execute commands from the named file. If the given file name contains | |
104 no slashes, the script file is sought in the default directory (normally | |
105 /usr/local/share/freecalypso unless changed in the code); otherwise the given | |
106 name is used directly as the pathname. | |
107 | |
108 === exit | |
109 === quit | |
110 exit Clean up the target in the default manner and exit | |
111 exit bare Exit loadtool without doing anything to the target | |
112 exit jump0 Exit loadtool and command the target to reboot via jump to 0 | |
113 | |
114 The default method of cleaning up the target device state upon exit is set | |
115 in the hardware parameters file selected with the -h or -H command line | |
116 option; it is the exit-mode setting. On the Pirelli phone the default exit | |
117 mode is jump0: it causes the phone to reboot and enter the "charging boot" | |
118 mode, as the USB cable is connected and VBUS is present. | |
119 | |
120 If your device is a GTA02 and you are running fc-loadtool from inside the phone | |
121 (from the AP), the exit command will power off the modem from the AP. If you | |
122 are talking to GTA02 Calypso from an external host via the headset jack, there | |
123 is nothing that fc-loadtool can currently do to power the modem off (exit is | |
124 the same as exit bare in this case) - power it off yourself from the AP. | |
125 | |
126 If you do an exit bare without powering the target device off in some other | |
127 way, the device will still be running loadagent, which is probably not what you | |
128 want. However, it is the proper exit mode if you have powered off or reset the | |
129 target device by brute force (yanking the battery). | |
130 | |
131 === flash | |
132 === flash2 | |
133 The primary end use of fc-loadtool is for reading and writing the NOR flash | |
134 memories of the supported GSM devices. The GTA0x GSM modem has only one 4 MiB | |
135 flash bank (as in chip select), and is manipulated with the flash command. | |
136 The Pirelli phone has two flash banks (as in chip selects) of 8 MiB each; they | |
137 are manipulated with the flash and flash2 commands. | |
138 | |
139 The following flash operations are available: | |
140 | |
141 flash blankchk Blank-check a region of flash | |
142 flash dump2bin Dump flash content to a file in binary format | |
143 flash dump2srec Dump flash content to a file in S-record format | |
144 flash erase Erase a region of flash | |
145 flash info Display flash configuration info | |
146 flash program-bin Program flash with a binary file | |
147 flash program-m0 Program flash with an image in TI's *.m0 format | |
148 flash program-srec Program flash with an image in standard S-record format | |
149 flash quickprog Program a few flash words from the command line | |
150 flash sectors Display the list of flash sector addresses and sizes | |
151 | |
152 Substitute flash2 instead of flash when operating on the 2nd flash chip select | |
153 of Pirelli-style flash memory configurations. Prepend help before a command to | |
154 get usage information, e.g., help flash program-bin. | |
155 | |
156 === flash:blankchk | |
157 flash[2] blankchk hex-start-offset hex-length | |
158 | |
159 Blank-checks an area of flash starting at the specified hex offset (from the | |
160 base address of the flash bank) and extending for the specified hex length. | |
161 Reports whether the checked region is blank or not. Flash must be blank (FF in | |
162 all bytes) before it can be programmed. | |
163 | |
164 === flash:dump2bin | |
165 flash[2] dump2bin outfile [offset [length]] | |
166 | |
167 Read device flash content and save it to a file. If only a filename is | |
168 specified, the full flash bank is dumped; one can optionally specify a starting | |
169 offset and an explicit length, both in hex. | |
170 | |
171 This command is merely a user-friendly front-end to the plain dump2bin command; | |
172 see help dump2bin. | |
173 | |
174 === flash:dump2srec | |
175 flash[2] dump2srec outfile [offset [length]] | |
176 | |
177 Read device flash content and save it to a file. If only a filename is | |
178 specified, the full flash bank is dumped; one can optionally specify a starting | |
179 offset and an explicit length, both in hex. | |
180 | |
181 This command is merely a user-friendly front-end to the plain dump2srec command; | |
182 see help dump2srec. | |
183 | |
184 === flash:erase | |
185 flash[2] erase hex-start-offset hex-length | |
186 | |
187 Erases an area of flash starting at the specified hex offset (from the base | |
188 address of the flash bank) and extending for the specified hex length. | |
189 | |
190 Flash memory can only be erased (turning 0 bits back to 1s) in units of | |
191 sectors, as set in stone by the design of the flash chip in use. Loadtool | |
192 knows the sector layout of the flash chip in your device from the hardware | |
193 parameters file (you can display it with the flash[2] sectors command), and | |
194 enforces that both arguments to the flash[2] erase command lie on sector | |
195 boundaries. | |
196 | |
197 === flash:info | |
198 This command displays summary information about the flash memory configuration | |
199 of the Calypso target device loadtool thinks it's talking to. | |
200 | |
201 === flash:program-bin | |
202 flash[2] program-bin flash-offset binfile [file-offset [length]] | |
203 | |
204 This command programs flash, using a binary file as the data source. One must | |
205 always specify the starting flash offset (from the base address of the flash | |
206 bank), but the starting file offset and length are optional, defaulting to the | |
207 whole file. | |
208 | |
209 The binary file must be in the native byte order of the Calypso ARM7 processor, | |
210 which is little-endian. Images produced by flash[2] dump2bin are suitable. | |
211 | |
212 === flash:program-m0 | |
213 flash[2] program-m0 image.m0 | |
214 | |
215 *.m0 is the format that has been used by companies like TI and Closedmoko for | |
216 their proprietary firmware images. It is emitted by TI's hex470 tool, and in | |
217 the proprietary environment it is fed as an input to FLUID. (The latter is | |
218 TI's Flash Loader Utility Independent of Device, and fc-loadtool can be seen as | |
219 an independent reimplementation thereof - although it doesn't have the same | |
220 level of device-independence.) The *.m0 format is actually a variant of | |
221 Motorola's SREC, but with a different byte order: each 16-bit word is | |
222 byte-reversed relative to the native byte order of the ARM7 processor. | |
223 (This strange byte order actually makes some sense if one views the image as a | |
224 long array of 16-bit hex values; 16 bits is the width of the flash memory on | |
225 Calypso GSM devices and thus the natural unit size for flash programming.) | |
226 | |
227 Because each S-record contains an address, no addresses or offsets need to be | |
228 specified in the flash[2] program-m0 command, only the image file. | |
229 | |
230 === flash:program-srec | |
231 flash[2] program-srec image.srec | |
232 | |
233 This command programs the flash with an image in the standard S-record format, | |
234 in the native little-endian byte order of the Calypso ARM7 processor. It is | |
235 the opposite byte order from that used by TI's and Closedmoko's *.m0 files - | |
236 see help flash program-m0. Images produced by flash[2] dump2srec are suitable | |
237 for flash[2] program-srec. | |
238 | |
239 Because each S-record contains an address, no addresses or offsets need to be | |
240 specified in the flash[2] program-srec command, only the image file. | |
241 | |
242 === flash:quickprog | |
243 flash[2] quickprog hex-offset hex-data-string | |
244 | |
245 This command is intended only for developers; it provides raw access to | |
246 loadagent's basic flash write primitive. Read the source code for more | |
247 information. | |
248 | |
249 === flash:sectors | |
250 This command displays the list of sector offsets and sizes for the flash chip | |
251 in the Calypso target device loadtool thinks it's talking to. | |
252 | |
253 === r8 | |
254 === r16 | |
255 === r32 | |
256 === w8 | |
257 === w16 | |
258 === w32 | |
259 === peekpoke | |
260 The register peek and poke commands are: | |
261 | |
262 r8 addr Read an 8-bit register or memory location | |
263 r16 addr Read a 16-bit register or memory location | |
264 r32 addr Read a 32-bit register or memory location | |
265 w8 addr data Write an 8-bit register or memory location | |
266 w16 addr data Write a 16-bit register or memory location | |
267 w32 addr data Write a 32-bit register or memory location | |
268 | |
269 All addresses and data values are in hex. | |
270 |