Please tell me something about the S-record file format and how we can get data from it.

The first S1 record is comprised as follows:

• S1 S-record type S1, indicating it is a data record to be loaded at a 2-byte address.

• 13 Hexadecimal 13 (decimal 19), indicating that nineteen character pairs, representing a 2 byte address, 16 bytes of binary data, and a 1 byte checksum, follow.

• 00 00 Four character 2-byte address field; hexidecimal address 0x0000, where the data which follows is to be loaded.

• 28 5F 24 5F 22 12 22 6A 00 04 24 29 00 08 23 7C Sixteen character pairs representing the actual binary data.

• 2A The checksum.


closed as not a real question by Leon Heller, Olin Lathrop, Dave Tweed, Brian Carlton, Anindo Ghosh Apr 9 '13 at 15:36

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ You have just explained how the data is formatted in it (which is all on the Wikipedia page too) - so what exactly is the question? What data are you missing? \$\endgroup\$ – John U Apr 9 '13 at 8:04
  • \$\begingroup\$ I have no idea what a "S-record" is without some context. \$\endgroup\$ – Olin Lathrop Apr 9 '13 at 12:27

I use http://srecord.sourceforge.net/ for converting various file types. Amongst many other formats, it supports Motorola S-records and IntelHEX.

It can also be used to extract certain fields/bytes from a file.


Assuming you're running Windows ARM publish a free utility that converts Motorola S-records to binary:


If running Linux or you would like to see source code examples the following site may be of assistance:



Not the answer you're looking for? Browse other questions tagged or ask your own question.