DS89C420 LOADER ©DALLAS SEMICONDUCTOR BOOTLOADER GUIDE
B
Return the CRC-16 (cyclic redundancy check) of the internal ROM code.
This self-CRC computation should always return 0000h.
C [begin-address [end-address]]
Return the CRC-16 (cyclic redundancy check) of the flash memory.
This computation is performed over the range unless optional start and end addresses are given.
The CRC-16 algorithm is commonly used in data communications.
CX [begin-address [end-address]]
Return the CRC-16 (cyclic redundancy check) of the external RAM.
This computation is performed over the range unless optionalstart and end addresses are given.
The CRC-16 algorithm is commonly used in data communications.
D [begin-address [end-address]]
Dump flash memory in Intel hex format. An optional address range may be specified.
Each record contains up to 32 data bytes.
The last line printed is the end-of-data record.
DX [begin-address [end-address]]
Dump external memory in Intel hex format.
This command functions in the same manner as the D command with the exception of the target memory being external.
K
Perform an erasure of the entire flash memory range, including security block, option control register, and bank-select bit.
L
Load standard ASCII Intel hex formatted data into flash memory. No lock bits may be set when attempting to load the internal flash
program memory. Only record types 00 and 01 are processed. Each record of the file is treated the same way. All characters are
discarded before the header character <:> is read. The rest of the record, defined by the length byte, is then processed. All characters
following the record checksum and prior to the next <:> are discarded. Control returns to the command prompt after an
Intel end record is encountered. Prior to programming each byte, the loader performs a preread of that flash memory location to
assess whether the new hex value can be written. After programming each byte, the loader reads the flash memory location again
to verify proper programming. The processing of each record is confirmed by an ACK/NAK response. New records should not be
transmitted until the ACK/NAK byte associated with the previous record has been received.
The ACK/NAK responses are as follows:
G | good record |
A |
hex record received, which contains an address not programmable by the L
command: address > 3FFFh (for flash); address > 3Fh (for encryption vector)
Example: record with address > 3FFFh, which would result in the NAK response <A>:
:07403000000012040080FEF5 |
F | flash write error |
H | hex record received contained a nonhex character |
L | record length > 20 bytes (type 0); record length > 0 bytes (type 1 EOF) |
P | programming error—loader detected an attempt to write 1’s to 0’s |
R |
hex record contained a record type not supported by the DS89C420 loader
Example: record type other than 00 or 01, which would result in the NAK response <R>:
:020000040001F9 |
S |
hex record contained an incorrect checksum
Example record with an incorrect checksum, which would result in the NAK response <S>:
:03000000024000BC |
V | data read back does not match data that was written |
LB
Load blind of internal flash memory—Loads standard Intel hex-formatted data into internal flash memory. This command functions
in the same manner as the L command, except that the preprogramming assessment and postprogramming verification of the
flash memory are not executed by the loader. When using this command, the P and V NAK responses are not returned by the
loader. All other ACK/NAK responses are still generated by the loader.
LE
Load encryption vector—Loads standard Intel hex-formatted data into flash security block. This command functions in the same
manner as the L command, except that it operates on the flash security block (0–3Fh).
LX
Load external memory—Loads standard Intel hex-formatted data into external memory. This command functions similar to the L
command, except that it operates on the external memory (0–FFFFh) and can write without restriction to any address location in
the range. If an external page mode or MOVX stretch cycle different from the default setting is desired, the ACON or CKCON registers
should be modified prior to execution of the LX command.
R
Read—Displays the values of the lock bits, option control register, address control register, clock control register, power management
register, Ports 0, 1, 2, 3, and the flash control register in the following format:
LB:XX OCR:XX ACON:XX CKCON:XX PMR:XX P0:XX P1:XX P2:XX P3:XX FCNTL:XX
V
Verify current contents of flash memory vs. the received Intel hex. This command operates similar to the load command, except
that it does not write to the flash memory; it compares the data byte(s) in the flash memory to the byte(s) in the data stream. The
same ACK/NAK response scheme is used during verify operations as is used for load operations.
VE
Verify encryption vector—Verifies current contents of the flash security block vs. the received Intel hex. This command works in the
same manner as the V command, but operates on the flash security block (0–3Fh).
VX
Verify external memory—Verifies current contents of external memory versus the received Intel hex. This command works in the
same manner as the ‘V’ command, but operates on external memory (0–FFFFh)
W [LB | OCR | ACON | CKCON | PMR | P0 | P1 | P2 | P3] byte
Writes byte to the requested register. Valid entries for LB are 1 (enable LB1), 3 (enable LB1, LB2), and 7 (enable LB1, LB2, LB3).
ACON register writes modify only bits 7, 6, 5. CKCON register writes modify only bits 2,1, 0. PMR register writes modify only bit 0.
P3 register writes modify only P3.7–P3.2 (P3.1 and P3.0 are not altered).
^C (<CTRL>+C)
Interrupt whatever is going on, clear all the buffers, put up a prompt, and wait for the next command. Anything in the type-ahead
buffer is removed. All output is stopped.
E:ARGREQ
An argument or arguments are required for this command.
E:BADCMD
An invalid command letter was entered.
E:BADREG
This message is printed if a register other than OCR, ACON, CKCON, PMR,
P0, P1, P2, or P3 is used as the argument for the W command.
E:BADVAL
The requested value cannot be programmed into the OCR register because it contains
1’s in bit position(s) where 0’s have already been programmed.
E:EXTARG
Extra data was encountered on the command line when it was not needed. Reenter the command.
E:ILLOPT
The optional parameters given were in error. If the start address is greater than the end address, either implicitly or explicitly,
then an error is printed. The range bit implicitly determines the maximum range.
E:LOCK BITS ENABLED
The requested operation cannot be performed due to the current lock bit settings.
E:LOCK BITS ALREADY SET
The requested lock bit setting cannot be programmed because a higher order lock bit has already been programmed.
E:NOTHEX
A nonhexadecimal character was found when expecting a hexadecimal character.
E:VALUE MUST BE 1, 3 OR 7
A value other than 1, 3, or 7 was entered when trying to write the lock bits.