Provided by: srecord_1.56-1build1_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 null 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 null 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 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.

COPYRIGHT

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

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

AUTHOR

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