annotate loadtools/loadtool.help @ 999:30fad2b3afd2

doc/Flash-write-protection: document flash lock-state retrieval
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 04 Dec 2023 20:40:50 +0000
parents 162d2cf394e2
children 11391cb6bdc0
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