Provided by: srecord_1.58-1_amd64 bug

NAME

       srec_binary - binary file format

DESCRIPTION

       It is possible to read and write binary files using srec_cat(1).

   File Holes
       A  file hole is a portion of a regular file that contains NUL characters and is not stored
       in any data block on disk.   Holes  are  a  long‐standing  feature  of  Unix  files.   For
       instance, the following Unix command creates a file in which the first bytes are a hole:

              $ echo -n "X" | dd of=/tmp/hole bs=1024 seek=6
              $

       Now  /tmp/hole  has  6,145  characters (6,144 NUL characters plus an X character), yet the
       file occupies just one data block on disk.

       File holes were introduced to avoid wasting disk space.   They  are  used  extensively  by
       database  applications  and,  more  generally, by all applications that perform hashing on
       files.

       See http://www.oreilly.com/catalog/linuxkernel2/chapter/ch17.pdf for more information.

   Reading
       The size of binary files is taken from the size of the file on the file  system.   If  the
       file has holes these will read as blocks of NUL (zero) data, as there is no elegant way to
       detect Unix file holes.  In general, you probably want to use the -unfill filter  to  find
       and remove large swathes of zero bytes.

   Writing
       In  producing  a  binary  file, srec_cat(1) honours the address information and places the
       data into the binary file at the addresses  specified  in  the  hex  file.   This  usually
       results  on  holes  in  the file.  Sometimes alarmingly large file sizes are reported as a
       result.

       If you are on a brain‐dead operating system without file holes then there are going to  be
       real  data  blocks  containing  real zero bytes, and consuming real amounts of disk space.
       Upgrade - I suggest Linux.

       To make a file of the size you expect, use

              srec_info foo.s19

       to find the lowest address, then use

              srec_cat foo.s19 -intel -offset -n -o foo.bin -binary

       where n is the lowest address present in the foo.s19 file, as  reported  by  srec_info(1).
       The negative offset serves to move the data down to have an origin of zero.

SEE ALSO

       srec_input(1)
               for a description of the -unfill filter

       srec_examples(1)
               has  a  section  about  binary files, and ways of automagically offseting the data
               back to zero in a single command.

COPYRIGHT

       SRrecord version 1.58
       Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,  2005,  2006,  2007,  2008,  2009,
       2010, 2011 Peter Miller

       The  SRrecord  program  comes  with  ABSOLUTELY NO WARRANTY; for details use the 'SRrecord
       -VERSion License' command.  This is free software and you are welcome to  redistribute  it
       under certain conditions; for details use the 'SRrecord -VERSion License' command.

AUTHOR

       Peter Miller   E‐Mail:   pmiller@opensource.org.au
       /\/\*             WWW:   http://miller.emu.id.au/pmiller/