DESCRIPTION
This format is also known as the TI-Tagged or Texas Instruments SDSMAC (320) format.This format allows binary files to be uploaded and downloaded between two computer systems, typically between a computer system (such as a PC, Macintosh, or workstation) and an emulator or evaluation board for 16-bit microcontrollers and microprocessors.
The Lines
Unlike many other object formats, the lines themselves are not especially significant. The format consits of a number of tagged fields, and lines are composed of a series of these fields.Tag | Description |
* |
Data byte.
|
: |
End of file.
|
0 |
File header (optional).
|
7 |
Checksum.
|
8 |
Dummy checksum (ignored).
|
9 |
Word Address.
|
B |
Data word.
|
F |
End of data record.
|
K |
Program identifier (optional).
|
Data Byte
B | n | n |
One byte of data.
The nn is 8-bit big-endian hexadecimal.
End of File
: | CRLF |
The end of data is indicated by this tag.
The end of line sequence (LF on Unix systems, CRLF on PCs)
follows this tag.
File Header
0 | length | filename |
The optional start-of-file record begins with a tag character ('0') and
a 12-character file header. The first four characters are the count (in
hex) of the 16-bit data word values (B) which follow, not including data
byte values (*). The remaining file header characters are the name of
the file and may be any ASCII characters, blank padded.
Checksum
7 | n | n | n | n |
The checksum is the 2s complement sum of the 8-bit ASCII values of
characters, beginning with the first tag character and ending with the
checksum tag character (7).
The nnnn is 16-bit big-endian hexadecimal.
Dummy Checksum
8 | n | n | n | n |
The checksum is the 2s complement sum of the 8-bit ASCII values of
characters, beginning with the first tag character and ending with the
checksum tag character (8).
The nnnn is 16-bit big-endian hexadecimal.
Address
9 | n | n | n | n |
Addresses may be given for any data byte, but none is mandatory. The
file begins at 0000 if no address is given before the first data field.
The nnnn is 16-bit big-endian hexadecimal.
Data Word
B | a | a | b | b |
Two bytes of data.
The aa and bb are each 8-bit big-endian hexadecimal.
End of Record
F | CRLF |
The end of line sequence (LF on Unix systems, CRLF on PCs)
is escaped using this tag.
The checksum is reset to zero at this point.
Program Identifier
K | n | n | n | n | text |
The program identifier can contain a brief description of the program,
or can be empty (i.e. the text portion is optional). The
nnnn length (hex) of the field includes the `K', the length and
the text; it is at least 5.
Size Multiplier
In general, binary data will expand in sized by approximately 2.9 times when represented with this format.EXAMPLE
Here is an example TI-Tagged file. It contains the data "Hello, World[rq] to be loaded at address 0x0100.-
K000590080B4865B6C6CB6F2CB2057B6F72B6C64*0A7F641F :
-
00028 7FDCFF 90000BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F400F 90008BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3F8F 90010BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3FFF 90018BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3F7F 90020BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3FEF :
COPYRIGHT
srec_cat version 1.58Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Peter Miller
The
srec_cat
program comes with ABSOLUTELY NO WARRANTY;
for details use the 'srec_cat -VERSion License' command.
This is free software
and you are welcome to redistribute it under certain conditions;
for details use the 'srec_cat -VERSion License' command.