X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/974ba9a205c5a46dfe213e3493794293ff502945..30f2a7d38fd35b2427a7eb42e1cd75fb1105f927:/tools/srecswap.pl diff --git a/tools/srecswap.pl b/tools/srecswap.pl new file mode 100644 index 00000000..24ef8e84 --- /dev/null +++ b/tools/srecswap.pl @@ -0,0 +1,35 @@ +#!/usr/bin/perl + +# endian-swap S records; we need this because the JTAG tools we're using +# expect the memory image in byte-swapped format +# +# Jonathan Westhues, April 2004 + +if(@ARGV == 0) { + die "usage: $0 file-to-endian-swap.s19 > out.s19\n"; +} + +while(<>) { + chomp; + + if(/^S0/) { + next; + } + if(/^S7/) { + print "$_\n"; + next; + } + + if(not /^S3(..)(........)(.*)(..)$/) { + die "bad S record at line $.\n"; + } + + $data = $3; + $checksum = $4; + + print "S3$1$2"; + while($data =~ m#(..)(..)(..)(..)#g) { + print "$4$3$2$1"; + } + print "$checksum\n"; +}