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을 이식하는 과정에서 발생한 이슈들과 원인을 찾아내는데 사용되어 그 실용성을 입증하였다.