write_tos_image
来自「无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上」· 代码 · 共 84 行
TXT
84 行
#!/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 + =
减小字号Ctrl + -
显示快捷键?