Issues and Debugging Methodology for Porting TinyOS on a Small Network Embedded System

소형 네트워크 임베디드 시스템에 TinyOS 이식 과정에서의 이슈 및 디버깅 기법

  • Kim, Dae-Nam (Dept. of Electronics Engineering, University of Incheon) ;
  • Kim, Kyo-Sun (Dept. of Electronics Engineering, University of Incheon)
  • 김대남 (인천대학교 전자공학과) ;
  • 김교선 (인천대학교 전자공학과)
  • Published : 2008.11.25

Abstract

Numerous platforms have been developed for ZigBee-based network embedded systems. Also, operating systems like TinyOS have been installed to facilitate efficient implementation of wireless sensor network applications which collect data, and/or execute commands. First of all, porting an operating system on a new platform may need invention of a substitute for a required but unsupported hardware component. This paper presents a multiplexed virtual system timer for a platform without a counter comparator which we have contrived to emulate by using an extra counter. Such porting also injects unexpected faults which cause a variety of painful failures. Unfortunately, TinyOS requires to handle a lot of asynchronous hardware interrupts which are hard to trace during debugging. Besides, simulators are not available for a new platform since the models of hardware on the platform are not usually developed, yet. We propose novel instrumentation techniques which can be used to effectively trace the bugs in such lack of debugging environment. These techniques are used to identify and fix a great deal of nasty issues in porting TinyOS 2.0 on MG2400 and MG2455 platforms made by RadioPulse Inc.

ZigBee 통신기반의 네트워크 임베디드 시스템을 위한 많은 플랫폼들이 개발되어 왔으며 TinyOS와 같은 소형 운영체제가 탑재되어 다양한 주변장치를 통해 네트워킹, 정보수집, 명령 수행 등 다양한 기능들을 효율적으로 구현할 수 있도록 하고 있다. 새로운 플랫폼에 운영체제를 이식하는 과정에서는 계수기와 같이 중요한 특정 하드웨어 장치가 운영체계에서 요구하는 기능이 부족하다면 소프트웨어 및 다른 하드웨어 장치로 해당 기능을 구현해야 한다. 본 논문은 먼저 계수기에 비교기 인터럽트 기능이 없는 플랫폼에서 운영체계의 요구 기능을 만족하는 다중 시스템 타이머를 구현하는 기법을 제안한다. 또한, 이식과정에서 예측하기 어려운 오류가 주입될 수 있기 때문에 이에 따라 발생하는 수많은 오동작에 대처해야 할 것이다. 불행히도 TinyOS에는 하드웨어의 인터럽트에 의해 구동되는 수많은 비동기 처리가 필요한 반면 새로운 플랫폼에는 탑재된 하드웨어 각각에 대한 모델이 확립되지 않아 시뮬레이터가 미리 제공되지 못한다. 본 논문은 이러한 열악한 상황에서 사용할 수 있는 새로운 디버깅 기법을 제안한다. 이 방법은 레이디오펄스(주)의 MG2400과 MG2455에 TinyOS 2.0을 이식하는 과정에서 발생한 이슈들과 원인을 찾아내는데 사용되어 그 실용성을 입증하였다.

Keywords

References

  1. TinyOS Working Group, "TinyOS 2.0 Documentation," http://www.tinyos.net/tiny- os-2.x/doc/, Jul. 2007
  2. C. Lynch, and F. O'Reilly, "PIC-based TinyOS implementation," Proceeedings of the Second European Workshop on Wireless Sensor Networks, pp. 378-385, Los Angeles, USA, Jan. 2005
  3. Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, and Philip Levis, "Collection," http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x/doc/html/tep119.html, Feb. 2007
  4. Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, Sukun Kim, Philip Levis, and Alec Woo, "The Collection Tree Protocol (CTP)," http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x/doc/html/tep123.html, Feb. 2007
  5. Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, and Philip Levis. "Four Bit Wireless Link Estimation," In Proceedings of the Seventh International Conference on Information Processing in Wireless Sensor Networks (IPSN), Cambridge, USA, Apr. 2007
  6. Philip Levis and Gilman Tolle, "Dissemination of Small Values," http://tinyos.cvs.sourceforge.net/ *checkout*/tinyos/tinyos-2.x/doc/html/tep118.html, Feb. 2007
  7. Philip Levis, Neil Patel, David Culler, and Scott Shenker. "Trickle: A Self-Regulating Algorithm for Code Maintenance and Propagation in Wireless Sensor Networks," In Proceedings of the First USENIX/ACM Symposium on Networked Systems Design and Implementation, San Francisco, USA, Mar. 2004
  8. Kaisen Lin and Philip Levis. "Data Discovery and Dissemination with DIP," In Proceedings of the Proceedings of the Seventh International Conference on Information Processing in Wireless Sensor Networks (IPSN), St. Louis, USA, Apr. 2008
  9. Radio Pulse Inc., "MG2400 Specification - Revision 1.13," RadioPulse Inc., 2006
  10. Radio Pulse Inc., "MG2455-F48 Datasheet VER.1.0," RadioPulse Inc., 2007
  11. Anders Egeskov Petersen, Sidsel Jensen, Martin Leopold, "Towards TinyOS for 8051," http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x/doc/html/tep121.html, Mar. 2006
  12. Rainer Koster, "Design of a Real-Time Communication Service for Local Area Networks," Diploma Thesis, Dept. of Computer Science, University of Kiserslautern, Germany, Apr. 1998
  13. Microsoft Corporation, "Guidelines For Providing Multimedia Timer Support," Microsoft Corporation, http://www.micro- soft.com/whdc/system/CEC/mm-timer.mspx, Sept. 2002
  14. Intel Corporation, "IA-PC HPET (High Precision Event Timers) Specification," Revision 1.0a, Intel Corporation, http://www.intel.com/hardwaredesign /hpetspec_1.pdf, Oct. 2004
  15. G. Varghese, and A. Lauck, "Hashed and hierarchical timing wheels: efficient data structures for implementing a timer facility," IEEE/ACM Transactions on Networking, Vol. 5, Issue 6, pp. 824-834, Dec. 1997 https://doi.org/10.1109/90.650142
  16. 서창수, 이철희, "HBE-Ubi-Mango", (주)한백전자, 2007
  17. PHILIPS, "PCA9555," PHILIPS, http:// www.datasheetcatalog.org/datasheet/philips/PCA9555_3.pdf, May 2002
  18. SENSIRION, "SHT11," SENSIRION, http://www.sensirion.com/images/getFile?id=25, May 2005
  19. Jonathan W. Valvano, "Embedded Micro-computer Systems," Brooks/Cole, pp. 254-274, 2003
  20. Crossbow Technology, "MICAz," Crossbow Technology, http://www.xbow.com/Products/Product_pdf_files/Wireless_pdf/MICAZ_Datasheet.pdf