aboutsummaryrefslogtreecommitdiff
path: root/flashstub/code-to-array.pl
blob: 5333e31eacc3ba99f1739153594e86143e6bb101 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
#
# Convert the output of objdump to an array of bytes are can include
# into our program.

while (<>) {
    if (m/^\s*([0-9a-fA-F]+):\s*([0-9a-fA-F]+)(.*)/) {
	my $addr = "0x$1";
	my $value = $2;
	if (length ($value) == 4) {
	    print "  [$addr/2] = 0x$value, // $_";
	}
	else {
	    my $lsb = substr ($value, 4, 4);
	    my $msb = substr ($value, 0, 4);
	    print "  [$addr/2] = 0x$lsb, // $_";
	    print "  [$addr/2 + 1] = 0x$msb,\n";
	}
    }
    else {
	print "// ", $_;
    }
}