[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