X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/9bea179a71188589f8e642f615177a108cea8d55..49209d37da501059b41f5563d6d27e291dea4ffa:/tools/merge-srec.pl 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;