📄 write_tos_image
字号:
#!/usr/bin/perl -w#$Id: write_tos_image,v 1.6 2005/06/21 23:28:19 jwhui Exp $#@author Jonathan Hui <jwhui@cs.berkeley.edu>use strict;my $MaxNameLength = 10;if ( @ARGV == 0 ) { print "usage: build_tosimage [ident_flags] [exe_file]\n"; exit 0;}my %ident_flags = ();my $exe = "";my $ihex = "";my $objdump = "avr-objdump";my $platform = "";my $supplement = "";for my $arg (@ARGV) { if ($arg =~ /^-DIDENT_(.+)=0x(.+)$/) { $ident_flags{lc($1)} = uc($2); } elsif ($arg =~ /^-DIDENT_(.+)="(.+)"$/) { $ident_flags{lc($1)} = $2; } elsif ($arg =~ /^--ihex=(.+)$/) { $ihex = $1; } elsif ($arg =~ /^--exe=(.+)$/) { $exe = $1; } elsif ($arg =~ /^--objdump=(.+)$/) { $objdump = $1; } elsif ($arg =~ /^--platform=(.+)$/) { $platform = $1; } elsif ($arg =~ /^--supplement=(.+)$/) { $supplement = $1; }}my $deluge_support = "no";# See if app has deluge includedopen( EXE, "$objdump -t $exe |") or die "Cannot open exe file: $!\n";while(<EXE>) { if ( /Deluge/ ) { $deluge_support = "yes"; }}close(EXE);$ident_flags{"deluge_support"} = $deluge_support;$ident_flags{"platform"} = $platform;open ( IHEX, $ihex ) or die "Cannot open ihex file: $!\n";print "<tos_image>\n";print " <ident>\n";for my $flag (keys %ident_flags) { print " <$flag>$ident_flags{$flag}</$flag>\n";}print " </ident>\n";print " <image format=\"ihex\">\n";while ( my $line = <IHEX> ) { print $line;}print " </image>\n";if( $supplement ) { open( SUPP, "< $supplement" ) or die "Cannot open supplement file: $!\n"; my $hex = unpack( "h*", do{local $/;<SUPP>} ); $hex =~ s/(.{64})/$1\n/g; $hex =~ s/\s+$//; close(SUPP); print " <supplement format=\"hex\">\n$hex\n </supplement>\n";}print "</tos_image>\n";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -