Development ERC32 Processor Emulator based on QEMU

QEMU를 기반으로 한 ERC32 프로세서 에뮬레이터 개발

  • 최종욱 (한국항공우주연구원 위성비행소프트웨어팀) ;
  • 신현규 (한국항공우주연구원 위성비행소프트웨어팀) ;
  • 이재승 (한국항공우주연구원 위성비행소프트웨어팀) ;
  • 천이진 (한국항공우주연구원 위성비행소프트웨어팀)
  • Received : 2011.09.08
  • Accepted : 2011.11.01
  • Published : 2011.11.01

Abstract

During the development of flight software, the processor emulator and satellite simulator are essential tools for software development and verification, which can be substituted for the actual hardware. LEO satellites being developed by KARI recently use the MCM-ERC32SC processor for on-board computer (OBC). For the flight software (FSW) development and testing, the software-based spacecraft simulator was developed using TSIM-ERC32 processor emulator from Aeroflex Gaisler. It is needed to get rid of the constraints and dependencies of TSIM-ERC32 processor emulator and to obtain high performance processor emulator to develop full satellite simulator. This paper presents the development of the ERC32 emulator based on open source dynamic translator, QEMU, as the first step. And it describes the software development and testing/debugging on the developed emulator.

위성 탑재소프트웨어를 개발하는 과정에서 프로세서 에뮬레이터와 위성 시뮬레이터는 핵심툴로서, 소프트웨어 개발과 검증 단계에서 사용되며 실제 하드웨어를 대체할 수 있는 수준까지 활용이 가능하다. 현재 한국항공우주연구원에서 개발 중인 저궤도 위성의 탑재컴퓨터의 프로세서는 SPARC v7 기반의 MCM-ERC32SC 프로세서를 사용하며, 프로세서 에뮬레이터의 경우Aeroflex Gaisler에서 판매되는 TSIM-ERC32 에뮬레이터를 사용한다. 국내 인공위성 개발 시 ERC32 프로세서를 계속 사용할 경우 TSIM-ERC32의 제한 조건과 종속성을 벗어날 필요가 있으며, 추후 위성 시뮬레이터 개발 시 고성능의 프로세서 에뮬레이터가 요구되기 때문에 새로운 프로세서 에뮬레이터 개발 필요성이 지속적으로 대두되었다. 본 논문에서는 첫 번째 단계로 공개형 프로세서 에뮬레이터인 QEMU를 기반으로 ERC32 프로세서 에뮬레이터 개발 방법에 대해서 기술하며 개발 된 에뮬레이터 상에서의 소프트웨어 개발 및 디버깅 방법에 대해서 설명한다.

Keywords

References

  1. 최종욱, 이재승, 이상곤, "동적 변환기 기반의 고성능 ERC32 프로세서 에뮬레이터 개발", 한국항공우주학회 춘계 학술대회, 2010, pp. 539-542.
  2. 최종욱, 이재승, 양승은, 천이진, "Development of High performance ERC32 processor emulator based on Dynamic Translation", Joint Conference on Satellite Communication 2010, pp. 91-96.
  3. Sandi Habinc, Jiri Gaisler, "AT697F/LEON2-FT Processor Software Tools" Proceedings of DASIA 2007, Naples, Italy, 29 May 2007.
  4. Marques, P. , Feiteirinha, J. , Pureza, L. , Lindman, N., "LeonVM: Using Dynamic Translation For Developing High-Speed Space Processor Emulators", Proc. of the 9th International Workshop on Simulation for European Space Programmes (SESP'2006), Noordwijk, The Netherlands, November 2006.
  5. Alastair Pidgeon, Paul Robinson, Sean McClellan, "QERx : A High Performance Emulator for Software Validation and Simulations", Proceedings of DASIA 2009, Istanbul, Turkey, May 2009.
  6. Matteo Bordin, Cyrille Comar, Tristan Gingold, "Couverture : an Innovative Open Framework for Coverage Analysis of Safety Critical Applications", 14th International Conference on Reliable Software Technologies, Ada Europe 2009.
  7. Fabrice Bellard, "QEMU, a Fast and Portable Dynamic Translator", Proceedings of the 2005 USENIX Annual Technical Conference, April 10-15, 2005, Anaheim. CA. USA.
  8. 최종욱, 이재승, 천이진, "GUI 기반의 Cycle-True ERC32 프로세서 에뮬레이터 개발", 한국항공우주학회 추계 학술대회, 2010, pp. 951-954.
  9. 최종욱, 신현규, 이재승, 천이진, "위성 시뮬레이터 개발을 위한 ERC32 프로세서 기반의 가상화 시스템 개발", 통신위성우주산업연구회 논문지, Vol. 6, No. 1, 2011, pp. 50-56.
  10. 최종욱, 이재승, 신현규, 천이진, "Virtualized System Development based on LEON3-FT processor for Satellite Simulator", 한국항공우주학회 춘계 학술대회, 2011, pp. 969-972.