NAME
srec_cmp - compare two EPROM load files for equality
SYNOPSIS
srec_cmp [ option... ] filename...
srec_cmp -Help
srec_cmp -VERSion
DESCRIPTION
The srec_cmp program is used to compare two EPROM load files for
equality. This comparison is performed irrespective of the load order
of the data in each of the files.
INPUT FILE SPECIFICATIONS
Input may be qualified in two ways: you may specify a data file or a
data generator. format and you may specify filters to apply to them.
An input file specification looks like this:
datafile [ filter ... ]
datagenerator [ filter ... ]
Data Files
Input from data files is specified by file name and format name. An
input file specification looks like this:
filename [ format ][ -ignore‐checksums ]
The default format is Motorola S‐Record format, but many others are
also understood.
Data Generators
It is also possible to generate data, rather than read it from a file.
You may use a generator anywhere you could use a file. An input
generator specification looks like this:
-GENerate addressrange -datasource
Generators include random data and various forms of constant data.
Common Manual Page
See srec_input(1) for complete details of input specifiers. This
description in a separate manual page because it is common to more than
one SRecord command.
OPTIONS
The following options are understood:
@filename
The named text file is read for additional command line
arguments. Arguments are separated by white space (space, tab,
newline, etc). There is no wildcard mechanism. There is no
quoting mechanism. Comments, which start with ’#’ and extend
to the end of the line, are ignored. Blank lines are ignored.
-Help
Provide some help with using the srec_cmp program.
-IGnore_Checksums
The -ignore‐checksums option may be used to disable checksum
validation of input files, for those formats which have
checksums at all. Note that the checksum values are still read
in and parsed (so it is still an error if they are missing) but
their values are not checked. Used after an input file name,
the option affects that file alone; used anywhere else on the
command line, it applies to all following files.
-Enable_Sequence_Warnings
This option may be used to enable warnings about input files
where the data records are not in strictly ascending address
order. Only one warning is issued per input. This is the
default. Note: the output of srec_cat(1) is always in this
order.
-Disable_Sequence_Warnings
This option may be used to disable warnings about input files
where the data records are not in stricyly ascending address
order.
-MULTiple
Use this option to permit a file to contain multiple
(contradictory) values for some memory locations. A warning
will be printed. The last value in the file will be used. The
default is for this condition to be a fatal error.
-VERSion
Print the version of the srec_cmp program being executed.
-Verbose
This option may be used to obtain more information about how
and where the two files differ. Please note that this takes
longer, and the output can be voluminous.
All other options will produce a diagnostic error.
All options may be abbreviated; the abbreviation is documented as the
upper case letters, all lower case letters and underscores (_) are
optional. You must use consecutive sequences of optional letters.
All options are case insensitive, you may type them in upper case or
lower case or a combination of both, case is not important.
For example: the arguments “-help”, “-HEL” and “-h” are all interpreted
to mean the -Help option. The argument “-hlp” will not be understood,
because consecutive optional characters were not supplied.
Options and other command line arguments may be mixed arbitrarily on
the command line.
The GNU long option names are understood. Since all option names for
srec_cmp are long, this means ignoring the extra leading “-”. The
“--option=value” convention is also understood.
EXIT STATUS
The srec_cmp command will exit with a status of 1 on any error. The
srec_cmp command will only exit with a status of 0 if there are no
errors.
EXAMPLE
A common use for the srec_cmp command is to verify that a particular
signature is present in the code. In this example, the signature is in
a file called“signature[rq], and the EPROM image is in a file called
“image[rq]. We assume they are both Motorola S‐Record format, although
this will work for all formats:
srec_cmp signature image -crop -within signature
The signature need not be at the start of memory, nor need it be one
single contiguous piece of memory. In the above example, the portions
of the image which have the same address range as the signature are
compared with the signature.
COPYRIGHT
srec_cmp version 1.55
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010 Peter Miller
The srec_cmp program comes with ABSOLUTELY NO WARRANTY; for details use
the ’srec_cmp -VERSion License’ command. This is free software and you
are welcome to redistribute it under certain conditions; for details
use the ’srec_cmp -VERSion License’ command.
AUTHOR
Peter Miller E‐Mail: pmiller@opensource.org.au
/\/\* WWW: http://miller.emu.id.au/pmiller/