]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Added functionality for setting the TOS scheduler via flag to ncc. Updated .platform...
authorklueska <klueska>
Thu, 17 Jan 2008 23:18:59 +0000 (23:18 +0000)
committerklueska <klueska>
Thu, 17 Jan 2008 23:18:59 +0000 (23:18 +0000)
13 files changed:
tools/tinyos/ncc/ncc.1
tools/tinyos/ncc/ncc.in
tos/platforms/btnode3/.platform
tos/platforms/eyesIFX/.family
tos/platforms/intelmote2/.platform
tos/platforms/iris/.platform
tos/platforms/mica2/.platform
tos/platforms/mica2dot/.platform
tos/platforms/micaz/.platform
tos/platforms/null/.platform
tos/platforms/telosa/.platform
tos/platforms/telosb/.platform
tos/platforms/tinynode/.platform

index 25995a828d7011aef3738e0182f93a177f05fee8..b0fb77455ae50583dcb43ec1eda2f242cbc3bf4e 100644 (file)
@@ -45,6 +45,22 @@ given, \fBncc\fR uses the value specified with the option. If neither the
 environment variable or option are specified, ncc uses its compiled-in
 TinyOS directory.
 .TP
+\fB-tosscheduler=\fIcomponent,unique-string,interface-name,interface-definition,run-event,post-command\fR 
+By  default,  nesC  compiles uses of \fBtask void\fR \fItaskname\fR\fB() ...\fR to \fBvoid\fR 
+\fItaskname\fR\fB()\fR, 
+and \fBpost\fR \fItaskname\fR\fB()\fR to \fBTOS_post\fR\fB(\fR\fItaskname\fR\fB)\fR.
+.IP
+With this option, each task gets  its  own  \fIinterface-definition\fR interface, 
+the task implementation is transformed into a \fIrun-event event\fR and posts becomes a 
+call to the \fIpost-command\fR  command.  This per-task interface is automatically 
+connected to the parameterised \fIinterface-name\fR interface of scheduler 
+\fIcomponent\fR component.  The parameter id for the connection is chosen with 
+\fBunique\fR("\fIunique-string\fR").
+.IP
+If this option is not set explicity, its parameters are assigned by default as follows:
+.IP
+-tosscheduler=\fITinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask\fR
+.TP
 \fB-tossim\fR
 Compile for the TOSSIM environment rather than a native platform. Every
 directory in the search path will be duplicated, with the first copy having
index 2adbaa52bfebf4bb80c0cbd23b578fccce160d43..4c8d908b3f35bc6723db2753451acf928b4a07a3 100644 (file)
@@ -14,10 +14,13 @@ $TOSDIR = "@TOSDIR@";
 $TOSDIR = $ENV{"TOSDIR"} if defined($ENV{"TOSDIR"});
 $nescc = "@nescc_prefix@/bin/nescc";
 $tossim = 0;
+$is_tos_1 = 0;
+$with_scheduler_flag = 1;
 
 # Support platform directory renaming for 2.x
 if (-d "$TOSDIR/platform") {
     $platform = "platform";
+    $is_tos_1 = 1;
 }
 else {
     $platform = "platforms";
@@ -38,6 +41,10 @@ for ($i = 0; $i <= $#ARGV; $i++) {
            $TOSDIR = $1;
            $strip = 1;
        }
+       elsif (/^-tosscheduler=(.*)/) {
+           $scheduler = $1;
+           $strip = 1;
+       }
        elsif (/^-nostdinc$/) {
            $nostdinc = 1;
        }
@@ -113,6 +120,10 @@ if (!defined $target) {
     }
 }
 
+if (!defined $scheduler && !$is_tos_1) {
+       $scheduler = "TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask";
+}
+
 if ($print_target) {
     print $target, "\n";
     exit 0;
@@ -202,6 +213,9 @@ do $family_def if -f $family_def;
 unshift @new_args, "-DPLATFORM_\U$target";
 
 push @new_args, @opts;
+if(!$is_tos_1) {
+  unshift @new_args, "-fnesc-scheduler=$scheduler";
+}
 
 # old nesdoc: set the default topdir based on TOSDIR
 my ($tosparent) = ($TOSDIR =~ m!^(.*)/.*?$!);
index ac67392e2146d01b5d724cc16e6de3f581c75479..33cfd8b6f9d2aa38e158bfb2b38696c97e63818f 100644 (file)
@@ -40,8 +40,8 @@ push( @includes, qw(
   -mmcu=atmega128
   -fnesc-target=avr
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
index cba3afb1ec874d80f2906be3b5deb879fd3dbd2a..de546863679482fa64cd3295eebcfac835216b80 100644 (file)
@@ -34,7 +34,7 @@ push (@opts, qw(
   -gcc=msp430-gcc
   -fnesc-target=msp430
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 ) );
 
-push @opts, "-mingw-gcc" if $cygwin;
\ No newline at end of file
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
+push @opts, "-mingw-gcc" if $cygwin;
index 023615a267e2fd49d98ebcc80843e93ea1b34b92..e349c3a9ca8469170fd147029b937220db3c2018 100644 (file)
@@ -49,10 +49,10 @@ push ( @includes, qw(
   -nostartfiles
   -fnesc-target=env
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
 $ENV{NESC_MACHINE} = "pointer=4,4 float=4,4 double=8,4 long_double=8,4 short=2,2 int=4,4 long=4,4 long_long=8,4 int1248_align=1,2,4,4 wchar_size_size=4,4 char_wchar_signed=false,true";
index 9943593da8f09766a154b3389518a749b339d1cb..fb79ce375fead0f86748a5978ffca9d654411afe 100644 (file)
@@ -40,9 +40,9 @@ push( @includes, qw(
   -mmcu=atmega1281
   -fnesc-target=avr
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
index cfe7022f00c4ac00b2799b484ede950e3c38b75e..8b52498be794fdc494b12a64c8185f00c720b19f 100644 (file)
@@ -34,9 +34,9 @@ push( @includes, qw(
   -mmcu=atmega128
   -fnesc-target=avr
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
index 7d4b0ec48fc93781c9d41b77c6a32d323eb63c26..b894fc2f1f016db9450dcac6492a206e73c1e062 100644 (file)
@@ -37,9 +37,9 @@ push( @includes, qw(
   -mmcu=atmega128
   -fnesc-target=avr
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
index 4338a7142427399778592c4463f86e83d2810bd6..f8b6be675e49abf40c2122111ebd18ea1342b7f5 100644 (file)
@@ -46,9 +46,9 @@ push( @includes, qw(
   -mmcu=atmega128
   -fnesc-target=avr
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
index ddb80d41b4302fefc5ea98347bd8d4d12435549e..9ae17389d97cfaeb8dc706ba8b3ab9e29d0b8418 100644 (file)
@@ -17,6 +17,7 @@ push( @includes, qw(
   -gcc=gcc
   -fnesc-target=pc
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
+
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
index 252f2e1a860adc7e85c931b34f1865ac5e3bb62b..8e511343995cfd14a02fb1e1b63c1f7b3bd6ec57 100644 (file)
@@ -45,8 +45,8 @@ push( @includes, qw(
   -mmcu=msp430x149
   -fnesc-target=msp430
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
 
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
index f196d23859e9e5729a6ffc9adca958df4fa5bad5..27593f804ced215b314b633685fd2857096e379a 100644 (file)
@@ -46,9 +46,8 @@ push( @includes, qw(
   -mmcu=msp430x1611
   -fnesc-target=msp430
   -fnesc-no-debug
-  -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
-
 );
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
index 6dc436ef067608c13f5dc5a19973ff62940dbc88..08829375203a5a42283829a5acdb37d0291f5a45 100644 (file)
@@ -37,9 +37,9 @@ push( @includes, qw(
        -gcc=msp430-gcc
        -mmcu=msp430x1611
         -fnesc-target=msp430
-        -fnesc-no-debug
-       -fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask);
+        -fnesc-no-debug);
 
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
 push @opts, "-mingw-gcc" if $cygwin;
 
 #@commonplatforms = ("msp430");