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 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  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  gen-
       eral,  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.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.0>

home | help