srec_ti_tagged_16(5)
π NAME π
Okay bestie, meet srec_ti_tagged_16(5) β the Texas Instruments Tagged (SDSMAC 320) file format, straight outta the File Formats Manual. This is the whole page, and it's lowkey iconic for moving binary data around.
β¨ 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. Embedded device slay, no cap.
π The Lines π
Unlike many other object formats, the lines themselves are not especially significant. The format consists of a number of tagged fields, and lines are composed of a series of these fields. Here's the tag vibe check:
*β 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. Cute little byte, fr fr.
πΈ 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. And yeah, it's a dummy checksum β ignored, bestie.
π 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 size 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
:
Here is another example from the reference below
00028 7FDCFF
90000BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F400F
90008BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3F8F
90010BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3FFF
90018BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3F7F
90020BFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFFBFFFF7F3FEF
:
π SEE ALSO π
π COPYRIGHT π
srec_cat version 1.65
Copyright (C) 1998... 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.
π«Ά MAINTAINER π«Ά
- Scott Finneran β EβMail:
scottfinneran@yahoo.com.au - Peter Miller β EβMail:
pmiller@opensource.org.au
Signed off with Reference Manual + SRecord energy, srec_ti_tagged_16(5) forever, and srec_cat version 1.65 running through the footer like a little victory lap. Mwah πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- opensuse-leap 16.0: srecord 1.65.0-bp160.1.12 Β· GPL-3.0-or-later
- Copyright (C) 2007-2009 Peter Miller
- Copyright (C) 1998, 2006-2009, 2014 Peter Miller
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms