annotate loadtools/loadtool.help @ 1011:6d9b10633f10 default tip

etmsync Pirelli IMEI retrieval: fix poor use of printf() Bug reported by Vadim Yanitskiy <fixeria@osmocom.org>: the construct where a static-allocated string was passed to printf() without any format arguments causes newer compilers to report a security problem. Given that formatted output is not needed here, just fixed string output, change printf() to fputs(), and direct the error message to stderr while at it.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 May 2024 17:29:57 +0000
parents 162d2cf394e2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 This is the help file for fc-loadtool. See lthelp.c for the code
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 that parses and displays it. The parsing code is the only
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 documentation for the format of this help file - if you are going to
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 edit this help text, read the parsing code first.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 === main
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 This utility allows you to perform the following operations
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 on your Calypso GSM device:
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 * Peek and poke registers
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 * Dump any part of memory
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 * Read and program flash
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 See the following help topics for more information:
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 help peekpoke Register peek and poke commands
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 help flash Flash operation commands
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 help all List of all implemented commands
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 help exit Controlling the cleanup on exit
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 === all
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 abbr Read an ABB register
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 abbw Write an ABB register
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 baud Switch the serial comm with loadagent to a different baud rate
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 crc32 Get CRC-32 of a memory area on the target
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 dieid Read the Calypso die ID
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 dump Dump a target memory region in hex and ASCII
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 dump2bin Dump a target memory region to a file in binary format
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 dump2srec Dump a target memory region to a file in S-record format
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 exec Execute a command script
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 exit Exit from loadtool and clean up the target device state
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 flash Flash operations
995
74024eb17e04 fc-loadtool help: improve language regarding 16 MiB flash chips
Mychaela Falconia <falcon@freecalypso.org>
parents: 714
diff changeset
33 flash2 Operations on the 2nd flash bank (16 MiB flash chips only)
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 quit Alias for exit
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 r8 Read an 8-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 r16 Read a 16-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 r32 Read a 32-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 w8 Write an 8-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 w16 Write a 16-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 w32 Write a 32-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 To get help on any command, type help and the command keyword.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 === abbr
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 === abbw
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 abbr pg reg Read ABB register <reg> on page <pg>
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 abbw pg reg val Write <val> into register <reg> on page <pg>
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 The <pg> and <reg> arguments default to decimal unless prefixed with 0x;
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 the <val> argument to abbw is always hexadecimal.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 === baud
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 baud Display the current baud rate
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 baud <rate> Switch the baud rate to <rate> (number in bps)
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 The supported baud rates are:
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 Standard: 19200, 38400, 57600, 115200
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 Calypso special: 203125, 406250, 812500
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 The baud command coordinates the necessary simultaneous switching of the
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 baud rate on both the host and the target (loadagent). Loadagent always
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 supports all of the listed rates and will switch happily, but in the case
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 of the higher non-standard baud rates fc-loadtool has no way of knowing
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 ahead of time whether or not the requested baud rate is supported by your
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 usb2serial adapter or whatever other serial port hardware and driver
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 you are using. If the baud rate switch fails, the communication link with
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 the target will be broken and fc-loadtool will exit ungracefully.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 === crc32
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 crc32 hex-start hex-len
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 The first argument is the starting target memory address in hex; the second
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 argument is the length of the area to CRC, also in hex. The command will be
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 sent to loadagent; CRC-32 of the requested range will be computed on the target
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 and displayed in hex.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 === dieid
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 dieid Display the Calypso die ID
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 dieid <filename> Display the Calypso die ID, and also save it in the
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 named file
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 The Calypso die ID resides in 4 16-bit registers at target addresses
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 0xFFFEF010 through 0xFFFEF016. It is displayed on the terminal and optionally
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 saved to a file in this simple form:
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 FFFEF010: xxxx
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 FFFEF012: xxxx
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 FFFEF014: xxxx
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 FFFEF016: xxxx
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 === dump
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 dump hex-start hex-len
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 The first argument is the starting target memory address in hex; the second
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 argument is the length of the area to dump, also in hex. The dump will be
621
f44770a652eb loadtool.help: additional details documented for dump commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 576
diff changeset
97 displayed on the terminal in hex and ASCII. As an implementation limit, both
f44770a652eb loadtool.help: additional details documented for dump commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 576
diff changeset
98 the starting target memory address and the length of the area to dump need to
f44770a652eb loadtool.help: additional details documented for dump commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 576
diff changeset
99 be aligned to 16 bytes.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 === dump2bin
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 === dump2srec
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 dump2bin hex-start hex-len outfile
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 dump2srec hex-start hex-len outfile
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 The first argument is the starting target memory address in hex; the second
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 argument is the length of the area to dump, also in hex; the third argument
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 is the name of the output file to be created/written. The dump will be saved
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 in binary or S-records as per the chosen command, always in the native byte
643
cd031e2501fa loadtool.help: dump2bin and dump2srec improvements
Mychaela Falconia <falcon@freecalypso.org>
parents: 632
diff changeset
110 order of the Calypso ARM7 target (little-endian).
621
f44770a652eb loadtool.help: additional details documented for dump commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 576
diff changeset
111
643
cd031e2501fa loadtool.help: dump2bin and dump2srec improvements
Mychaela Falconia <falcon@freecalypso.org>
parents: 632
diff changeset
112 The 128 byte alignment requirement of previous versions has been lifted; you
cd031e2501fa loadtool.help: dump2bin and dump2srec improvements
Mychaela Falconia <falcon@freecalypso.org>
parents: 632
diff changeset
113 can now dump as little as one byte without any alignment restrictions. In the
cd031e2501fa loadtool.help: dump2bin and dump2srec improvements
Mychaela Falconia <falcon@freecalypso.org>
parents: 632
diff changeset
114 case of dump2srec the output file will be written with 32 bytes of payload per
cd031e2501fa loadtool.help: dump2bin and dump2srec improvements
Mychaela Falconia <falcon@freecalypso.org>
parents: 632
diff changeset
115 S3 record, with the last record carrying from 1 to 32 bytes of payload as
cd031e2501fa loadtool.help: dump2bin and dump2srec improvements
Mychaela Falconia <falcon@freecalypso.org>
parents: 632
diff changeset
116 needed.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 === exec
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 exec <script-file>
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120
228
ccf5edab9d5f loadtool.help: exec command description updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 54
diff changeset
121 Read and execute commands from the named file. If the execution of a script
ccf5edab9d5f loadtool.help: exec command description updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 54
diff changeset
122 command encounters an error, the following commands are not executed, i.e.,
ccf5edab9d5f loadtool.help: exec command description updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 54
diff changeset
123 stop on first error.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 === exit
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 === quit
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 exit Clean up the target in the default manner and exit
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 exit bare Exit loadtool without doing anything to the target
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 exit iota-off Exit loadtool and command an ABB power-off on the target
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 exit jump0 Exit loadtool and command the target to reboot via jump to 0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 The default method of cleaning up the target device state upon exit is set
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 in the hardware parameters file selected with the -h or -H command line
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
134 option; it is the exit-mode setting. On most targets the default exit mode is
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
135 iota-off.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 If you do an exit bare without powering the target device off in some other
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 way, the device will still be running loadagent, which is probably not what you
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 want. However, it is the proper exit mode if you have powered off or reset the
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 target device by brute force (yanking the battery).
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 === flash
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 === flash2
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 The primary end use of fc-loadtool is for reading and writing the NOR flash
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
145 memories of the supported GSM devices. Most Calypso phones and modems have
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
146 only one flash bank (as in chip select), and are manipulated with the flash
995
74024eb17e04 fc-loadtool help: improve language regarding 16 MiB flash chips
Mychaela Falconia <falcon@freecalypso.org>
parents: 714
diff changeset
147 command. FreeCalypso development boards and some complex phones (Pirelli
74024eb17e04 fc-loadtool help: improve language regarding 16 MiB flash chips
Mychaela Falconia <falcon@freecalypso.org>
parents: 714
diff changeset
148 DP-L10, Sony Ericsson K2x0) have two flash banks (as in chip selects) of 8 MiB
74024eb17e04 fc-loadtool help: improve language regarding 16 MiB flash chips
Mychaela Falconia <falcon@freecalypso.org>
parents: 714
diff changeset
149 each; they are manipulated with flash and flash2 commands.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
151 The following flash operations are available:
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 flash blankchk Blank-check a region of flash
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 flash dump2bin Dump flash content to a file in binary format
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 flash dump2srec Dump flash content to a file in S-record format
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 flash erase Erase a region of flash
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
157 flash geom Display geometry details of detected flash chip
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
158 flash id Perform flash chip autodetection sequence
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 flash info Display flash configuration info
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 flash program-bin Program flash with a binary file
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 flash program-m0 Program flash with an image in TI's *.m0 format
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 flash program-srec Program flash with an image in standard S-record format
675
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
163 flash e-program-bin Combined erase and program-bin
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
164 flash e-program-m0 Combined erase and program-m0
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
165 flash e-program-srec Combined erase and program-srec
714
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
166 flash prot-reg Read Intel flash OTP protection register
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 flash quickprog Program a few flash words from the command line
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 flash reset Reset flash chip to read array mode
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 flash sectors Display the list of flash sector addresses and sizes
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
170 flash status Intel-style flash only: read Status Register
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
171 flash unlock Intel-style flash only: unlock flash sectors
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
172
996
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
173 Additional operations for select Spansion and Samsung flash chips:
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
174
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
175 flash lock-state Retrieve and display sector write-protection state
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
176 flash ppb-program Program Persistent Protection Bit for one sector
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
177 flash ppb-program-all Program all PPBs in the addressed flash bank
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
178 flash ppb-erase-all Erase all PPBs in the flash chip, unlocking all sectors
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
179
714
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
180 Additional operations for Compal targets only:
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
181
714
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
182 flash compal-imei Read IMEI from OTP protection register
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
183 flash erase-program-boot Erase and reprogram the boot sector
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 Substitute flash2 instead of flash when operating on the 2nd flash chip select
995
74024eb17e04 fc-loadtool help: improve language regarding 16 MiB flash chips
Mychaela Falconia <falcon@freecalypso.org>
parents: 714
diff changeset
186 of 16 MiB flash chips (FCDEV3B, Pirelli DP-L10 etc). Prepend help before a
74024eb17e04 fc-loadtool help: improve language regarding 16 MiB flash chips
Mychaela Falconia <falcon@freecalypso.org>
parents: 714
diff changeset
187 command to get usage information, e.g., help flash program-bin.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 === flash:blankchk
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 flash[2] blankchk hex-start-offset hex-length
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 Blank-checks an area of flash starting at the specified hex offset (from the
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 base address of the flash bank) and extending for the specified hex length.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 Reports whether the checked region is blank or not. Flash must be blank (FF in
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 all bytes) before it can be programmed.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196
714
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
197 === flash:compal-imei
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
198 flash compal-imei Display the Compal phone's IMEI
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
199 flash compal-imei <filename> Display the Compal phone's IMEI, and also
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
200 save it in the named file
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
201
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
202 Compal phones have their factory IMEI stored in the flash chip's OTP protection
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
203 register. This command reads the Intel flash protection register, checks its
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
204 content for an IMEI formatted in Compal's particular way, and if a valid-looking
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
205 IMEI is found, it is displayed on the terminal. The extracted IMEI can also be
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
206 saved into a text file.
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
207
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 === flash:dump2bin
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 flash[2] dump2bin outfile [offset [length]]
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 Read device flash content and save it to a file. If only a filename is
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 specified, the full flash bank is dumped; one can optionally specify a starting
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 offset and an explicit length, both in hex.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
215 This command was originally nothing more than a user-friendly front-end to the
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
216 plain dump2bin command (see help dump2bin), but in the current version it first
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
217 performs the flash chip autodetection operation if it hasn't been done already
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
218 (needed in order to determine the size of the flash bank) and resets the flash
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
219 to read array mode.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 === flash:dump2srec
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 flash[2] dump2srec outfile [offset [length]]
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 Read device flash content and save it to a file. If only a filename is
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225 specified, the full flash bank is dumped; one can optionally specify a starting
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 offset and an explicit length, both in hex.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
228 This command was originally nothing more than a user-friendly front-end to the
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
229 plain dump2srec command (see help dump2srec), but in the current version it
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
230 first performs the flash chip autodetection operation if it hasn't been done
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
231 already (needed in order to determine the size of the flash bank) and resets
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
232 the flash to read array mode.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 === flash:erase
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 flash[2] erase hex-start-offset hex-length
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 Erases an area of flash starting at the specified hex offset (from the base
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 address of the flash bank) and extending for the specified hex length.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 Flash memory can only be erased (turning 0 bits back to 1s) in units of
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
241 sectors, as set in stone by the design of the flash chip in use. Loadtool will
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
242 autodetect the flash chip in use and will only operate on those flash chip types
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
243 which it knows about; if a known chip is found, loadtool knows its sector layout
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
244 and enforces that both arguments to the flash[2] erase command lie on sector
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
245 boundaries.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 === flash:erase-program-boot
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 flash erase-program-boot binfile [length]
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 This operation is applicable to Compal targets only. This command erases and
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251 reprograms flash sector 0 (the boot sector) with minimized vulnerability to
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 bricking by loading the new boot code into a scratchpad RAM area on the target,
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253 then commanding loadagent (running on the target) to erase and reprogram the
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 dangerous flash sector without requiring further interaction with loadtool.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255 (In contrast, loadtool's "regular" flash erase and program operations are
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 driven primarily by loadtool, with loadagent providing only low-level
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257 functions.)
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259 The new bits to be programmed are taken from the specified binary file. Byte 0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 of the file goes into byte 0 of the flash and so on, for the specified length.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261 If no length argument is given, it defaults to the length of the file, which
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 must not exceed the length of flash sector 0: 64 KiB on the "basic" Compal
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263 phones or 8 KiB on C155/156.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
265 === flash:geom
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
266 This command displays information about the detected flash chip: device name,
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
267 geometry details and the command set style (AMD or Intel). The displayed
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
268 geometry details include the total size of the flash bank, the total number of
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
269 sectors, the number of regions with different sector sizes and the sector size
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
270 and the number of sectors in each region.
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
271
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
272 === flash:id
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
273 This command explicitly invokes the same flash chip autodetection operation
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
274 that is performed the first time each flash bank is accessed with any flash or
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
275 flash2 command.
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
276
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
277 === flash:info
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
278 This command displays the global flash configuration settings that have been
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
279 selected at fc-loadtool invokation time (hardware parameters associated with
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
280 the target set via -h or -H): the global single-4M, single-8M or dual-8M
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
281 setting and flash bank base addresses.
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
282
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
283 In previous versions this command performed flash ID checks and displayed
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
284 geometry information; these functions have been moved to the new flash id and
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
285 flash geom commands.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
286
996
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
287 === flash:lock-state
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
288 This command is only implemented for certain specific Spansion and Samsung
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
289 flash chip types that have lockable sectors, i.e., an ability to write-protect
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
290 certain flash sectors in a persistent, non-volatile manner. This command
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
291 retrieves and displays the lock state of every sector in the addressed flash
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
292 bank, as well as some chip-global lock status words. (The details are highly
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
293 chip-dependent.)
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
294
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
295 In the case of 16 MiB flash chips, you need to execute flash lock-state to see
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
296 the lock state of sectors in the first flash bank and flash2 lock-state to see
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
297 the lock state of sectors in the second flash bank.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
298
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
299 === flash:ppb-program
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
300 flash[2] ppb-program sector-offset
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
301
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
302 This command (implemented only for certain specific Spansion and Samsung flash
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
303 chip types) programs the Persistent Protection Bit (PPB) for the specified
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
304 sector, causing that sector to become persistently write-protected. Note that
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
305 on many flash chips sectors are aggregated into groups for the purpose of write
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
306 protection, with a group of up to 4 sectors sharing the same PPB - once that
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
307 per-group PPB is programmed, all sectors in that group become write-protected.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
308
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
309 Use flash ppb-erase-all command to clear all write protection locks created by
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
310 this command.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
311
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
312 === flash:ppb-program-all
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
313 This command is implemented only for those flash chip types whose PPB program
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
314 and erase commands follow the model of Spansion PL-J, rather than that of
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
315 Spansion PL-N. It programs all PPBs that reside in the addressed flash bank,
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
316 which will be the entire chip in the case of S71PL064J or half of the chip in
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
317 the case of S71PL129J or its Samsung equivalent. There is no anticipated need
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
318 for this command to ever be invoked by end users of fc-loadtool - instead it is
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
319 best seen as a made-accessible internal function of the tool, the internal
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
320 function that is primarily needed as part of flash ppb-erase-all implementation.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
321
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
322 === flash:ppb-erase-all
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
323 This command erases the special-purpose non-volatile memory element inside the
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
324 flash chip that stores all Persistent Protection Bits (PPBs) for this chip.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
325 Because the erased state of a PPB corresponds to the associated flash sector or
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
326 group of sectors being unlocked, the present operation clears all write
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
327 protection locks in the entire chip, making all flash unlocked.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
328
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
329 Special note for 16 MiB flash chips: because there is only one dedicated NV
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
330 memory element in the entire flash chip for storing all PPBs, erasable only as
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
331 a unit, this command operates on the entire chip rather than per-bank. There
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
332 is no flash2 ppb-erase-all command for this reason.
162d2cf394e2 fc-loadtool help: document new commands for sector lock/unlock
Mychaela Falconia <falcon@freecalypso.org>
parents: 995
diff changeset
333
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
334 === flash:program-bin
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 flash[2] program-bin flash-offset binfile [file-offset [length]]
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 This command programs flash, using a binary file as the data source. One must
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338 always specify the starting flash offset (from the base address of the flash
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339 bank), but the starting file offset and length are optional, defaulting to the
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 whole file.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 The binary file must be in the native byte order of the Calypso ARM7 processor,
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 which is little-endian. Images produced by flash[2] dump2bin are suitable.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 === flash:program-m0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346 flash[2] program-m0 image.m0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347
632
ae4330d86029 loadtool.help: description of program-m0 updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 621
diff changeset
348 Calypso firmware images built with TI's TMS470 toolchain in TI's canonical
ae4330d86029 loadtool.help: description of program-m0 updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 621
diff changeset
349 manner come out in a hex format that is a variant of Motorola's SREC, in files
ae4330d86029 loadtool.help: description of program-m0 updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 621
diff changeset
350 ending with the .m0 suffix. We have nicknamed this format "moko-style m0"
ae4330d86029 loadtool.help: description of program-m0 updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 621
diff changeset
351 after its most famous user; this command programs the flash with an image in
ae4330d86029 loadtool.help: description of program-m0 updated
Mychaela Falconia <falcon@freecalypso.org>
parents: 621
diff changeset
352 this moko-style m0 format.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354 Because each S-record contains an address, no addresses or offsets need to be
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 specified in the flash[2] program-m0 command, only the image file.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356
675
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
357 This command does NOT include a built-in flash erase step - see
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
358 help flash e-program-m0 for the more complete version.
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
359
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
360 === flash:program-srec
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
361 flash[2] program-srec image.srec
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
362
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
363 This command programs the flash with an image in the standard S-record format,
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
364 in the native little-endian byte order of the Calypso ARM7 processor. It is
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
365 the opposite byte order from that used by TI's *.m0 files -
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
366 see help flash program-m0. Images produced by flash[2] dump2srec are suitable
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
367 for flash[2] program-srec.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
368
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
369 Because each S-record contains an address, no addresses or offsets need to be
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
370 specified in the flash[2] program-srec command, only the image file.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
371
675
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
372 === flash:e-program-bin
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
373 flash[2] e-program-bin flash-offset binfile [file-offset [length]]
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
374
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
375 This command is an extension of flash[2] program-bin: it first erases the range
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
376 of sectors that contains the range of flash words to be programmed, then
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
377 executes the program-bin operation. All arguments are exactly the same as for
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
378 flash[2] program-bin - see help flash program-bin. The range of sectors that
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
379 will be erased will be the minimal set that contains the area of flash to be
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
380 programmed. This command is intended for automated (no thinking required)
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
381 flashing of firmware release images that are delivered in binary format; only
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
382 flash-offset and binfile arguments will be given in this case.
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
383
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
384 === flash:e-program-m0
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
385 flash[2] e-program-m0 image.m0
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
386
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
387 This command reads in the specified S-record image in moko-style m0 format,
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
388 builds a map of potentially discontiguous flash regions into which the image
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
389 deposits bits, erases the set of flash sectors which need to be erased before
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
390 programming these regions, then programs the new image bits into flash. This
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
391 command is intended for automated (no thinking required) flashing of firmware
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
392 release images that are delivered in moko-style m0 format.
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
393
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
394 === flash:e-program-srec
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
395 flash[2] e-program-srec image.srec
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
396
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
397 This command works like flash[2] e-program-m0, but takes in an S-record image
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
398 in little-endian byte order, which is the opposite byte order from that used by
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
399 TI's *.m0 files. This command is provided only for the sake of symmetry - no
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
400 practical use case is envisioned.
8b1e86dcc3ac loadtool.help: new flash e-program-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 643
diff changeset
401
714
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
402 === flash:prot-reg
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
403 This command is only applicable to Intel-style flash chips. These flash chips
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
404 have an OTP (one time programmable, then physically immutable afterward) area
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
405 called "protection register"; this command reads the flash chip's protection
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
406 register and displays its content as in lock word, factory words and user words.
e78c7ab3b0e6 loadtool.help: flash prot-reg and flash compal-imei additions documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 675
diff changeset
407
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
408 === flash:quickprog
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
409 flash[2] quickprog hex-offset hex-data-string
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
410
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
411 This command is intended only for developers; it provides raw access to
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
412 loadagent's basic flash write primitive. Read the source code for more
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
413 information.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
414
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
415 === flash:reset
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
416 Intel-style flash memory chips have two "stable" or "quiescent" states: reading
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
417 array data and reading the status register (SR). After an erase or program
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
418 operation the flash chip is "parked" in the Read SR state; the flash reset
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
419 command switches it back to reading array data.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
420
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
421 This command works for AMD-style flash as well, but it is normally not needed,
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
422 as AMD-style flash chips automatically return to the read-array-data state
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
423 after every erase or program operation.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
424
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
425 === flash:sectors
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
426 This command displays the list of sector offsets and sizes for the detected
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
427 flash chip. This command is deprecated except for debugging of loadtool
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
428 internals; the new flash geom command displays the same information in a much
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
429 more compact form.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
430
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
431 === flash:status
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
432 This command is only applicable to Intel-style flash chips. It reads the flash
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
433 chip's Status Register, which can be used to diagnose errors incurred by
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
434 previous erase or program operations.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
435
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
436 === flash:unlock
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
437 flash unlock hex-start-offset hex-length
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
438
518
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
439 This command is only applicable to Intel-style flash chips. These flash chips
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
440 power up with each sector (erase block) in the "locked" state; each sector
372757bb62e4 loadtools/loadtool.help updated for new flash handling architecture
Mychaela Falconia <falcon@freecalypso.org>
parents: 410
diff changeset
441 needs to be unlocked before it can be erased or programmed.
0
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
442
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
443 This command is normally not needed, as the flash erase command unlocks each
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
444 sector before erasing it. However, if you are going to perform program
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
445 operations in some sectors without erasing them, you will need to unlock them
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
446 explicitly first.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
447
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
448 This command operates only on sector boundaries just like flash erase.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
449
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
450 === r8
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
451 === r16
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
452 === r32
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
453 === w8
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
454 === w16
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
455 === w32
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
456 === peekpoke
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
457 The register peek and poke commands are:
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
458
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
459 r8 addr Read an 8-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
460 r16 addr Read a 16-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
461 r32 addr Read a 32-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
462 w8 addr data Write an 8-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
463 w16 addr data Write a 16-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
464 w32 addr data Write a 32-bit register or memory location
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
465
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
466 All addresses and data values are in hex.
e7502631a0f9 initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
467