Home » Corelis Boundary-Scan Blog » JTAG Boundary-Scan » Flash Memory Programming – Data File Formats

Flash Memory Programming – Data File Formats


ScanExpress JTAG/Boundary-scan test execution tools with ISP capabilities
(specifically ScanExpress Programmer & ScanExpress Runner) include capability to
take in user data files and write them to Flash or other non-volatile memory.
Obtaining a data file for programming isn’t always the easiest task—developers
will often use the native format for their development environment without
considering compatibility. To ease the process, most development systems are
able to generate at least one of 3 standard formats: Binary, Motorola S-record,
and Intel Hex. We’ll take a brief look at each of these ScanExpress-supported

Note that CPLDs usually provide JTAG vector files such as SVF or STAPL. For a
table of PLD programming file types and the software used to generate these
files, see 3rd Party PLD Tools.

Raw Binary

Binary files simply contain data encoded in binary, usually an exact image of
the data to be programmed to a Flash device. This is the simplest type of
programming file and can be generated by most software suites. Binary files can
be viewed or edited in hexadecimal format using any hex editor tool.


  • Wikipedia page: http://en.wikipedia.org/wiki/Binary_file

Motorola S-Record

S-record files are ASCII encoded binary data, including more information than
simple binary files. These files contain checksum information, enabling tools to
easily verify the data contents, as well as address offset information, allowing
the s-record file to cover arbitrary address ranges. Since s-record files are
ASCII text, they can be viewed and manipulated using any standard text editor.


  • Wikipedia page: http://en.wikipedia.org/wiki/SREC_(file_format)


Intel HEX

Intel Hex files are ASCII text similar to s-record, but use a different file
format to describe additional information about the data. Just like s-record,
Intel HEX files contain address offset information and checksum values for each


  • Wikipedia page: http://en.wikipedia.org/wiki/Intel_HEX


Whichever development/build environment is used, the tools can most likely
generate one of these three common formats. We want to make sure the path from
development to production boundary-scan test and Flash programming is as
streamlined as possible; do you use a different Flash data format or have a
suggestion that would make your life easier? Let us know!

Leave a Reply

Your email address will not be published. Required fields are marked *

Corelis Boundary-Scan Blog