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

FreeBSD Manual Pages


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

       srec_binary - binary file format

       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 cre-
       ates 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	appli-
       cations that perform hashing on files.

       See  for
       more information.

       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  gen-
       eral,  you  probably  want to use the -unfill filter to find and	remove
       large swathes of	zero bytes.

       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.

	       for a description of the	-unfill	filter

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

       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.

       Scott Finneran	E-Mail:
       Peter Miller	E-Mail:

Reference Manual		    SRecord			srec_binary(5)


Want to link to this manual page? Use this URL:

home | help