Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • c17d657
  • /
  • c6x
  • /
  • run6x
Raw File
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:aecfabeb045b681ecd6d0d31d041004fb35019cb
directory badge Iframe embedding
swh:1:dir:22073ecb891e76efe44b2447f9b46c1e8a624d91
run6x
#!/usr/bin/env perl

$exe  = @ARGV[0];
$exe .= ".out" if (! -f $exe);
die if (! -f $exe);

use CCS_SCRIPTING_PERL;

my $studio=new CCS_SCRIPTING_PERL::CCS_Scripting();

$studio->CCSOpenNamed("*","*",1);	# connect to board
$studio->TargetReset();

print "loading $exe\n";
$studio->ProgramLoad($exe);

sub write_string {
    my ($studio,$addr,$str) = @_;
    my $len = length($str);
    my $i;

    for ($i=0; $i<$len; $i++) {
	$studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr+$i,8,vec($str,$i,8));
    }
    $studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr+$i,8,0);

    return $i+1;
}

$addr= $studio->SymbolGetAddress("__c_args");
printf "setting up __c_args at 0x%X\n",$addr;#\n";

$studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr,32,$#ARGV+1);

for ($i=0,$strings=$addr+($#ARGV+3)*4; $i<=$#ARGV; $i++) {
    $off = write_string($studio,$strings,@ARGV[$i]);
    $studio->MemoryWrite($CCS_SCRIPTING_PERL::PAGE_DATA,$addr+4*($i+1),32,$strings);
    $strings += $off;
}
$studio->MemoryWrite($SCC_SCRIPTING_PERL::PAGE_DATA,$addr+4*($i+1),32,0);

print "running...\n";
$studio->TargetRun();

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top