diff -r 22486c9c7b15 -r 378360dbbdba sbsv1/abld/e32util/omapsig.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv1/abld/e32util/omapsig.pl Wed Jun 30 11:35:58 2010 +0800 @@ -0,0 +1,62 @@ +#!/usr/bin/perl +# e32toolp\e32util\omapsig.pl +# +# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# +# Prepend OMAP boot signature to miniboot binaries +# +# Syntax: +# perl omapsig.pl +# + +use warnings; +use IO::Handle; +use File::Copy; + +# Version +my $MajorVersion = 1; +my $MinorVersion = 1; +my $PatchVersion = 0; + +if (scalar(@ARGV)!=3) { + die "OMAPSIG signature tool V$MajorVersion.$MinorVersion.$PatchVersion\nperl omapsig.pl \n"; +} + +my ($load_address, $infile, $outfile) = @ARGV; + +$load_address = pack('L', hex($load_address)); + +my $filesize_in_bytes = -s $infile; + +print "miniboot input ", $filesize_in_bytes, " bytes\n"; + +$filesize_in_bytes = pack('L', $filesize_in_bytes); + +open my $in, "< $infile" or die "Can't open $infile for input: $!"; +binmode($in); +open my $out, "> $outfile" or die "Can't open $outfile for output: $!"; +binmode($out); +$out->autoflush(1); + +print $out $filesize_in_bytes; +print $out $load_address; + +copy($in, $out) or die "Couldn't copy from $infile to $outfile: $!"; + +close $in; +close $out; + +print "signed miniboot output ", -s $outfile, " bytes\n"; +exit;