[Tinyos Core WG] two random tool things

John Regehr regehr at cs.utah.edu
Tue Mar 31 15:41:02 PDT 2009


For incidental reasons we've been using avr-gcc pre-4.4.0, which is 
quite good: it seems to have fewer bugs and it generates better code. 
Considering apps in the CVS HEAD, binaries from pre-4.4.0 are about 5% 
smaller than the 4.1.2 that came out with TinyOS 2.1.  Oddly, Safe 
TinyOS binaries only get about 2.5% smaller, we don't know what is going 
on.  We have not looked at avr-gcc 4.2, and don't plan to.  4.3 produces 
binaries several percent larger than 4.1 and so is unlikely to be worth 
considering.

Summary: it's probably worth upgrading to 4.4 at some point.

Second, I'm finally dusting off my stack depth analysis tool and making 
sure it can analyze all applications for AVR platforms (msp430 isn't 
hard to support but with 10 KB of RAM I don't think this is critical). 
I'd like to check this into TinyOS and make it easily invokable by 
adding a stack-check.extra makefile target, or similar.  Any objections? 
  It is a Perl script and has no exotic dependencies.

The stack tool does not yet compute stack sizes for TOSThreads apps. 
Kevin we should talk sometime about how to best do that.  The problem is 
that we don't know stack requirements of threads until after avr-gcc has 
run, at which point it is too late to plug these depths into the app. 
Compiling twice seems inelegant.  One possibility is to edit the binary 
a bit like in tos-set-symbols.

John


More information about the Tinyos-2.0wg mailing list