Chapter 11 NovAtel Firmware
CPT7 and CPT7700 Installation and Operation User Manual v12
154
S3
LL
AAAAAAAA
DDDDDDDD...DDDDDDDD
CC
Check Sum
Little Endian Data. These bytes are copied into the "data" field of the
SOFTLOADDATA
command
4 - Byte Address. Set this as the value of "offset" in the SOFTLOADDATA command
Length. This is the hexadecimal number of character pairs to follow in the record. This value minus 4 bytes for
the address and 1 byte for the check sum is copied into the "data length" field of the
SOFTLOADDATA
command
Header
Sending Firmware Data
The
SOFTLOADSREC
and
SOFTLOADDATA
commands can be used to send firmware data from *.shex
files to the receiver.
S0, S5 and S7 S-Records should be sent directly to the receiver using the
SOFTLOADSREC
command, by
enclosing the S-Record in quotation marks and issuing the command to the receiver, as follows:
SOFTLOADSREC "<S-RECORD>"
S3 records can be sent individually to the receiver using the
SOFTLOADSREC
command. Alternatively, the
data from an S3 record can be parsed and packaged together with data from other S3 records into a binary
SOFTLOADDATA
command. Packaging data parsed from multiple S3 records into a binary
SOFTLOADDATA
command can result in improved firmware update times as each S3 record contains only a
small number of bytes of firmware data. A single
SOFTLOADDATA
command can package up to 4096 bytes
of firmware data from multiple S3 records, whereas a single
SOFTLOADSREC
command contains a
maximum of 28 bytes of firmware data from a single S3 record.
Multiple S3 records can be packaged into a single
SOFTLOADDATA
command as long as the data from one
S3 record follows immediately after the previous record. That is, the address from the current S3 record must
equal the address from the previous S3 record plus the data length of the previous S3 record. If the data is not
consecutive then the
SOFTLOADDATA
command can be sent with the amount of data it has packaged up to
that point. Subsequent data can be packaged in a new
SOFTLOADDATA
command. Within the
SOFTLOADDATA
command, the "offset" field remains the address of the first S3 record and the "data" and
"data length" are updated to include the new data.
The *.shex file data may contain many gaps and jumps. For example, in many NovAtel *.shex files, data for
address 0x000_00000 is stored near the very end of the file.
Example Packaging Multiple S3 Records In A SOFTLOADDATA Command
Start a new
SOFTLOADDATA
command
S32100407AD48FCA63034B80F5CE0C36507DE3D8DCC0C6C0C00515D74BCACF2F2949E1
Address: 0x00407AD4 Num Data Bytes: 0x21 – 0x01 – 0x04 = 0x1C
S32100407AF04CCA4985F0F7B081E41D9B7D806C26989AE2D4E4CCBCB47C10FBFD3E43
Previous A Previous Num Bytes = 0x00 0x1C = 0x00407AF0
Address: 0x00407AF0 Num Data Bytes: 0x1C
Add data to existing
SOFTLOADDATA
command
S30D00407B0CDE0400A6374D5BFFC5
Previous A Previous Num Bytes = 0x00 0x1C = 0x00407B0C
Address: 0x00407B0C Num Data Bytes: 0x0D – 0x01 – 0x04 = 0x08
Add data to existing
SOFTLOADDATA
command