trusty (5) srec_binary.5.gz

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.

       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/