ESL Logo
Purdue University Mark

Purdue University

Embedded Systems Laboratory

AVEKSHA: A Hardware-Software Approach for Non-intrusive Tracing and Profiling of Wireless Embedded Systems

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Our paper describing AVEKSHA, which was published at (and won the best-paper award at) the ACM International Conference on Embedded Networked Sensor Systems (ACM SenSys) 2011 can be downloaded here. The presentation slides for the conference talk can be downloaded here.

 

It is important to get an idea of the events occurring in an embedded wireless node when it is deployed in the field, away from the convenience of an interactive debugger. Such visibility can be useful for post-deployment testing, replay-based debugging, and for performance and energy profiling of various software components. Prior software-based solutions to address this problem have incurred high execution overhead and intrusiveness. The intrusiveness changes the intrinsic timing behavior of the application, thereby reducing the fidelity of the collected profile. Prior hardware-based solutions have involved the use of dedicated ASICs or other tightly coupled changes to the embedded node’s processor, which significantly limits their applicability.

Our solution, AVEKSHA, is a hardware-software approach for achieving the above goals in a non-intrusive manner. Our approach is based on the key insight that most embedded processors have an on-chip debug module (which has traditionally been used for interactive debugging) that provides significant visibility into the internal state of the processor. We design a debug board that interfaces with the on-chip debug module of an embedded node’s processor through the JTAG port and provides three modes of event logging and tracing: breakpoint, watchpoint, and program counter polling. Using expressive triggers that the on- chip debug module supports, AVEKSHA can watch for, and record, a variety of programmable events of interest. A key feature of AVEKSHA is that the target processor does not have to be stopped during event logging (in the last two of the three modes), subject to a limit on the rate at which logged events occur. AVEKSHA also performs power monitoring of the embedded wireless node and, importantly, enables power consumption data to be correlated to events of interest.

AVEKSHA is an operating system-agnostic solution. We have demonstrated its functionality and performance using three applications running on Telos motes; two in TinyOS and one in Contiki. We show that AVEKSHA can trace tasks and other generic events at the function and task-level granularity. We also used AVEKSHA to find a subtle bug in the TinyOS low power listening protocol.

We plan to release all the hardware and software for AVEKSHA on this website soon and also make a few pre-built AVEKSHA boards available to the research community.
 

Citation: M. Tancreti, M. S. Hossain, S. Bagchi, and V. Raghunathan, "Aveksha: A Hardware-Software Approach for Non-intrusive Tracing and Profiling of Wireless Embedded Systems," Proc. ACM International Conference on Embedded Networked Sensor Systems (SenSys), 2011.

Embedded Systems Laboratory (ESL), Room 216, Electrical Engineering Building
465 Northwestern Avenue, West Lafayette, IN 47907, Phone: (765) 494-0622