Texas instruments tagged (sdsmac 320) file format
This format is also known as the TI\[hy]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\[hy]bit microcontrollers and microprocessors.
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). |
B | n | n |
---|
One byte of data. The nn is 8\[hy]bit big\[hy]endian hexadecimal.
: | 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.
0 | length | filename |
---|
The optional start\[hy]of\[hy]file record begins with a tag character ('0') and a 12\[hy]character file header. The first four characters are the count (in hex) of the 16\[hy]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.
7 | n | n | n | n |
---|
The checksum is the 2s complement sum of the 8\[hy]bit ASCII values of characters, beginning with the first tag character and ending with the checksum tag character (7). The nnnn is 16\[hy]bit big\[hy]endian hexadecimal.
8 | n | n | n | n |
---|
The checksum is the 2s complement sum of the 8\[hy]bit ASCII values of characters, beginning with the first tag character and ending with the checksum tag character (8). The nnnn is 16\[hy]bit big\[hy]endian hexadecimal.
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\[hy]bit big\[hy]endian hexadecimal.
B | a | a | b | b |
---|
Two bytes of data. The aa and bb are each 8\[hy]bit big\[hy]endian hexadecimal.
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.
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.
In general, binary data will expand in sized by approximately 2.9 times when represented with this format.
Here is an example TI\[hy]Tagged file. It contains the data \[lq]Hello, World[rq] to be loaded at address 0x0100.
K000590080B4865B6C6CB6F2CB2057B6F72B6C64*0A7F641F :
Here is another example from the reference below
00028 7FDCFF 90000BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F400F 90008BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3F8F 90010BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3FFF 90018BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3F7F 90020BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3FEF :
http://www.dataio.com/pdf/Manuals/Unifamily/981\[hy]0014\[hy]016.pdf (page 6\[hy]7)
\*(n) version \*(v)
Copyright \*(Y) Peter Miller
The \*(n) program comes with ABSOLUTELY NO WARRANTY; for details use the '\*(n) -VERSion License' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the '\*(n) -VERSion License' command.
Peter Miller | E\[hy]Mail: | [email protected] |
---|---|---|
/\ | /\ | * |
WWW: | http://miller.emu.id.au/pmiller/ |