2011 · 10 citations · 11 references
EngineeringComputer EngineeringComputer ScienceEmbedded SystemsOperating SystemsSystems ProgrammingCpu SchedulingEmbedded C ProgrammingEmbedded Operating SystemsEnergy-efficient Embedded SystemsMicrocontroller ProgrammingLegacy Code RefactoringLow-power Embedded SystemsLow-power ProgrammingPreemptive MultithreadingSensor Network ApplicationsSensor Node Operating SystemsSource-to-source TranslationTiny Operating Systems
Programming support for multi-threaded applications on embedded microcontroller platforms has attracted a considerable amount of research attention in the recent years. This paper is focused on this problem, and presents UnStacked C, a source-to-source transformation that can translate multithreaded programs into stackless continuations. The transformation can support legacy code by not requiring any changes to application code, and only modifications to the underlying threading library. We describe the details of UnStacked C in the context of the TinyOS operating system for wireless sensor network applications. We present a modified implementation of the TOSThreads library for TinyOS, and show how existing applications programmed using TOSThreads can be automatically transformed to use stackless threads with only modifications in the build process. By eliminating the need to allocate individual thread stacks and by supporting lazy thread preemption, UnStacked C enables a considerable saving of memory used and power consumed, respectively.
11
System architecture directions for networked sensors
Jason Hill, Robert Szewczyk, Alec Woo et al. · ACM SIGPLAN Notices · 2000 · 3.1K citations · Full text
System architecture directions for networked sensors
Jason Hill, Robert Szewczyk, Alec Woo et al. · 2000 · 1.7K citations
David Gay, Philip Levis, Robert von Behren et al. · ACM SIGPLAN Notices · 2014 · 1.7K citations
David Gay, Philip Levis, Robert von Behren et al. · 2003 · 860 citations