From: d18c7db Date: Tue, 28 Jul 2009 01:03:09 +0000 (+0000) Subject: merge-srec.pl create proper S19 file with checksums. X-Git-Tag: v1.0.0~538 X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/49209d37da501059b41f5563d6d27e291dea4ffa merge-srec.pl create proper S19 file with checksums. --- diff --git a/tools/merge-srec.pl b/tools/merge-srec.pl index 852a96b8..683e6d3c 100644 --- a/tools/merge-srec.pl +++ b/tools/merge-srec.pl @@ -6,13 +6,18 @@ open(FLASH, $flashFile) or die "$flashFile: $!\n"; while() { print if /^S3/; + $EOF_record = $_ if /^S[789]/; } open(RAM, $ramFile) or die "$ramFile: $!\n"; while() { - if(/^S3(..)(........)(.*)/) { + if(/^S3(..)(........)(.*)([0-9a-fA-F]{2})/) { $addr = sprintf('%08X', hex($2) - 0x00200000 + 0x200); - print "S3$1$addr$3\n"; + $line = "$1$addr$3"; + $checksum = 0; + $checksum += $_ foreach map(hex, unpack("a2"x40, $line)); + print "S3$line", sprintf("%02X", ($checksum%256)^0xff ), "\n"; } } +print $EOF_record;