roberto pagliari wrote:
I wonder if someone can explain me the following
split-phase calls do not tie up stack memory while they are
executing.
Synchronous, or "get it done before doing anything else" code is still interruptable. The stack is used to store state when interrupted, so it can be started where it left off. Split phase calls put an item on the schedule queue in a tidy compact way, and the place for any data used is handled by parameters that point to the data as part of the call. I think the short amount of code during the split phase call is not interruptible, so it never causes stack usage... tends to reduce stack utilization, as creating large variables on
the stack is rarely necessary.
The large variables com form handling an interrupt saving state, just another part of the above advantage. I have not dug down all the way in the code, or seen this yet by debugging hardware with logic analyzers or emulators, so please correct me if wrong. John Griessen -- Ecosensory Austin TX tinyOS devel on: ubuntu Linux; tinyOS v2.0.2; telosb ecosens1 _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
