]> git.ipfire.org Git - thirdparty/openssl.git/blame - c6x/run6x
c6x/* "facelift":
[thirdparty/openssl.git] / c6x / run6x
CommitLineData
ea11fc17
DSH
1#!/usr/bin/env perl
2
3$exe = @ARGV[0];
4$exe .= ".out" if (! -f $exe);
5die if (! -f $exe);
6
7use CCS_SCRIPTING_PERL;
8
9my $studio=new CCS_SCRIPTING_PERL::CCS_Scripting();
10
11$studio->CCSOpenNamed("*","*",1); # connect to board
12$studio->TargetReset();
13
14print "loading $exe\n";
15$studio->ProgramLoad($exe);
16
17sub write_string {
18 my ($studio,$addr,$str) = @_;
19 my $len = length($str);
20 my $i;
21
22 for ($i=0; $i<$len; $i++) {
23 $studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr+$i,8,vec($str,$i,8));
24 }
25 $studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr+$i,8,0);
26
27 return $i+1;
28}
29
30$addr= $studio->SymbolGetAddress("__c_args");
31printf "setting up __c_args at 0x%X\n",$addr;#\n";
32
33$studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr,32,$#ARGV+1);
34
35for ($i=0,$strings=$addr+($#ARGV+3)*4; $i<=$#ARGV; $i++) {
36 $off = write_string($studio,$strings,@ARGV[$i]);
37 $studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr+4*($i+1),32,$strings);
38 $strings += $off;
39}
40$studio->MemoryWrite($SCC_SCRIPTING_PERL::PAGE_DATA,$addr+4*($i+1),32,0);
41
42print "running...\n";
43$studio->TargetRun();