Chapter 7 NovAtel Firmware and Software
SMART2 Installation and Operation Manual 1
59
S3 records can be sent individually to the receiver using the
SOFTLOADSREC
command. Altern-
atively, 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 firm-
ware 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
com-
mand 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
S3210000000007F0A7F1F4060000147B4000F49217813C7BB00014493F005C00000009
Previous A Previous Num Bytes = 0x00 0x08 = 0x00407B14
Address: 0x00000000 Num Data Bytes: 0x1C
Requires new
SOFTLOADDATA
command because address does not match previous a
previous number of data bytes
Send existing
SOFTLOADDATA
command, and start a new
SOFTLOADDATA
command
S3210000001C80040000E001000030000000082B0100D8060000E4060000C806000063
Address: 0x0000001C Num Data Bytes: 0x1C
Previous A Previous Num Bytes = 0x00 0x1C = 0x0000001C
Add data to existing
SOFTLOADDATA
command
The
SOFTLOADDATA
command must be sent as a NovAtel binary format command.