Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
srec_binary(5)		       File Formats Manual		  srec_binary(5)

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  charac-
     ter), yet the file occupies just one data block on disk.

     File  holes were introduced to avoid wasting disk space.  They are used ex-
     tensively 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 offset-
	     ing the data back to zero in a single command.

COPYRIGHT
     SRrecord version 1.64
     Copyright	(C)  1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
     2008, 2009, 2010, 2011, 2012, 2013, 2014 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.

MAINTAINER
     Scott Finneran   E-Mail:	scottfinneran@yahoo.com.au
     Peter Miller     E-Mail:	pmiller@opensource.org.au

Reference Manual		     SRecord			  srec_binary(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=srec_binary&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help