An Embedded Software Debugger Using an Instruction Set Simulator

명령어 집합 시뮬레이터를 이용한 임베디드 소프트웨어 디버거

  • 정훈 (상명대학교 일반대학원 컴퓨터과학과) ;
  • 손성훈 (상명대학교 소프트웨어학부) ;
  • 신동하 (상명대학교 소프트웨어학부)
  • Published : 2006.12.30

Abstract

Debugging embedded softwares is very different from debugging general softwares. For examples, debugging embedded software requires more information, such as information on power consumption, information on the distribution of executed instructions, information on the distribution of used registers, and information on the amount of clocks consumed during the execution of a program, that is not needed in debugging general softwares. In this paper, we propose more effective method fer debugging embedded softwares using an instruction set simulator for the microprocessor that is executing embedded softwares. In this research, we develop a debugger based on an instruction set simulator for a domestic embedded microprocessor called SE1608 and we shows an effective debugging method using a MiBench program which is widely used to benchmark embedded softwares. The debugging method proposed in this paper is relatively easy to implement and shows many advantages compared with existing debugging methods.

임베디드 소프트웨어의 디버깅은 일반 소프트웨어의 디버깅과는 많이 다르다. 예를 들어 임베디드 소프트웨어 디버깅에는 일반 소프트웨어의 디버깅에는 필요하지 않는 전력 소비량에 대한 정보, 실행된 명령어 분포에 대한 정보, 사용된 레지스터 분포에 대한 정보, 프로그램 수행 시 소요된 클럭 수에 대한 정보 등이 추가적으로 더 필요하다. 본 논문은 임베디드 소프트웨어가 수행되는 마이크로프로세서의 명령어 집합 시뮬레이터를 이용하여 임베디드 소프트웨어를 효과적으로 디버깅하는 새로운 방법을 제안한다. 본 연구에서는 국산 임베디드 마이크로프로세서인 SE1608의 명령어 집합 시뮬레이터를 기반으로 디버거를 개발하고 이를 사용하여 임베디드 소프트웨어 벤치마크 프로그램으로 많이 이용되는 MiBench 프로그램을 사용하여 임베디드 소프트웨어를 효과적으로 디버깅하는 보기를 제시한다. 본 연구에서 제시한 디버깅 방법은 기존의 디버깅 방법에 비하여 비교적 구현하기도 쉬우면서 많은 장점이 있는 것으로 판단된다.

Keywords