From: Dobrica Pavlinusic Date: Thu, 9 Jun 2016 17:15:48 +0000 (+0200) Subject: support multiple remote openocd instances X-Git-Url: http://git.rot13.org/?p=x300-pci;a=commitdiff_plain;h=0f9758aac0156292b3832c238aade8f38b582dc5 support multiple remote openocd instances --- diff --git a/openocd-jtag-boundary-scan.pl b/openocd-jtag-boundary-scan.pl index bc02ce3..50043df 100755 --- a/openocd-jtag-boundary-scan.pl +++ b/openocd-jtag-boundary-scan.pl @@ -6,6 +6,8 @@ use autodie; use Data::Dump qw(dump); use IO::Socket::INET; +my $openocd_remote = shift @ARGV || 'picam:4444'; + my $bit2pin; my $io2bit; @@ -13,6 +15,7 @@ my $pin2io; my $in_pin_map = 0; my $pin_map = ''; +$|=1; # flush stdout open(my $bsdl, '<', '_3128at100.bsd'); while(<$bsdl>) { @@ -64,7 +67,7 @@ sub print_io { my $bits = shift; my $i = 0; # foreach my $io ( @sort ) { - print "pin off io___ I C O | " x 4, "\n"; + print "pin off io___ I C O | " x 4, $openocd_remote,"\n"; foreach my $i ( 0 .. ($#$pin2io/4)-1 ) { foreach my $j ( 0 .. 3 ) { #my $pin = ($i*4) + $j + 1; # rows @@ -86,7 +89,7 @@ sub print_io { # printf "hex = %4s binary = %16s\n", $h, hex2bin($h); #} -my $sock = IO::Socket::INET->new('picam:4444'); +my $sock = IO::Socket::INET->new($openocd_remote); sub hex2bin { my $h = shift; @@ -119,6 +122,7 @@ while (<$sock>) { if ( /^\s*([A-F0-9]+)/ ) { my $hex = $1; my $bin = hex2bin($hex); + diff_bits($BSR, $bin); $BSR = $bin; print_io $bin; last;