Design of On-Chip Debugging System using GNU debugger

GNU 디버거를 이용한 온칩 디버깅 시스템 설계

  • Park, Hyung-Bae (Dept. of Electronics Engineering, Pusan National University) ;
  • Ji, Jeong-Hoon (Dept. of Computer Engineering, Pusan National University) ;
  • Xu, Jingzhe (Dept. of Electronics Engineering, Pusan National University) ;
  • Woo, Gyun (Dept. of Computer Engineering, Pusan National University) ;
  • Park, Ju-Sung (Dept. of Electronics Engineering, Pusan National University)
  • 박형배 (부산대학교 전자공학과) ;
  • 지정훈 (부산대학교 컴퓨터공학과) ;
  • 허경철 (부산대학교 전자공학과) ;
  • 우균 (부산대학교 컴퓨터공학과) ;
  • 박주성 (부산대학교 전자공학과)
  • Published : 2009.01.25

Abstract

In this paper, we implement processor debugger based on OCD(On-Chip Debugger). Implemented debugger consist of software debugger that supports a functionality of symbolic debugging, OCD integrated into target processor as a function of debugging, and Interface & Control block which interfaces software debugger and OCD at high speed rates. The debugger supports c/assembly level debugging using software debugger as OCD is integrated into target processor. After OCD block is interfaced with 32bit RISC processor core and then implemented with FPGA, the verification of On-Chip Debugging System is carried out through connecting OCD and Interface & Control block, and SW debugger.

본 논문에서는 OCD(On-Chip Debugger)기반의 프로세서 디버거 구현한 것에 대해서 소개한다. 구현한 디버거는 프로세서 칩 내부에 내장에 내장해서 디버깅 기능을 하는 OCD로직과 심볼릭(Symbolic) 디버깅 기능을 지원하는 GNU 디버거 기반의 소프트웨어 디버거, 그리고 소프트웨어 디버거와 OCD를 연결해주고 고속 디버깅을 지원하는 인터페이스 & 컨트롤(Interface & Control) 블록으로 3개의 기능 블록으로 구성되어 있다. 디버거는 대상 프로세서에 OCD블록을 내장하여 소프트웨어 디버거를 이용해서 C/Assembly 레벨에서 디버깅이 가능하다. 디버깅 시스템(On-Chip Debugging System)은 FPGA로 구현된 32비트 RISC 타입 프로세서 코어에 OCD 블록을 내장해서 소프트웨어 디버거와 인터페이스 & 컨트롤 블록을 연동하여 동작을 검증하였다.

Keywords

References

  1. MacNamee, c.; Heffernan, D., 'Emerging on-ship debugging techniques for real-time embedded systems', Computing & Control Engineering Journal, Volume 11, Issue 6, pp.295-303, Dec. 2000 https://doi.org/10.1049/cce:20000608
  2. Ing-Jer Huang; Chung-Fu Kao; Hsin-Ming Chen; Ching-Nan Juan; Tai-An Lu, 'A retargetable embedded in-circuit emulation module for microprocessors', Design & Test of Computers, IEEE, Volume 19, Issue 4, pp.28-38, July-Aug. 2002 https://doi.org/10.1109/MDT.2002.1018131
  3. Rainer Kress, Andreas Pyttel, 'Debugging Application-Specific Programmable Products', Proceedings of the 9th International Workshop on Field-Programmable Logic and Applications, Lecture Notes In Computer Science; Vol. 1673 pp.481-486, 1999
  4. David R. Hanson and Mukund Raghavachari., 'A machine-independent debugger. In SoftwarePractice and Experience, volume 26, pp.1277-1299, November 1996 https://doi.org/10.1002/(SICI)1097-024X(199611)26:11<1277::AID-SPE62>3.0.CO;2-Y
  5. Kiyokuni Kawachiya and Takao Moriyama. 'A Symbolic Debugger for PowerPC-Based Hardware, Using the Engineering Support Processor (ESP)', In IBM Research, Tokyo Research Laboratory. August, 1997
  6. Richard Stallrnan, Roland Pesch, Stan Shebs, 'GDB User Manual: Debugging With GDB(The GNU Source-Level Debugger)', GDB version 6.4. Technical report, Free Software Foundation, Cambridge, MA
  7. Jundi, K, Moon, D., 'Monitoring techniques for RISC embedded systems', Aerospace and Electronics Conference, 1993, vol.1, pp.542-550, May 1993
  8. Eur Ing Chris Hills BSc(Hons), C. Eng., MIEE, FRGS, 'Microcontroller Debuggers - Their Place In The Microcontroller Application Development Process' second edition, JAVA C & C++ Spring Conference Oxford Union, Oxford UK, April 1999. http://www.hitex.co.uk
  9. ARM7TDMl Specification, DDI0210B, http://www.arm.com
  10. ETM(Embedded Trace Marcocell) Specification, Architecture Specification IHI 0014N http://www.arm.com
  11. EJT AG Specification, MDOOO47, July 5, 2005. http://www.mips.com
  12. PDtraceTM Interface Specification, MD00136, May 14, 2003. http://www.mips.com
  13. Cl66S On Chip Debug Support, August 2001. http://www.infineon.com
  14. TIS Committee, 'Tool Interface Standard (TIS) Executable and Linking Forrnat(ELF) Specification', Version 1.2, May 1995
  15. W Qin and S. Malik 'Architecture Description Languages for Retargetable Compilation', In The Compiler Design Handbook: Optimizations and Machine Code Generation. CRC Press, 2002
  16. J Arceneaux, M. Tiemann, D. V. HenkelWallace, 'The portability of GNU software', In Proceedings of the Spring 1992 EurOpen/USENIX Workshop, pp.89-103, 1992
  17. Daniel Jacobowitz, 'Remote Debugging with GDB' .http://www.kegel.com/linux/gdbserver.html, 2002
  18. Minheng Tan, 'A minimal GDB stub for embedded remote debugging', http://www1.cs.columbia.edu/~sedwards/c1asses/2002/w4995-02/tan-final.pdf, 2002
  19. Bill Gatliff, 'Embedding with GNU: The gdb Remote Serial Protocol.' In Red Hat Developer Network (RHDN)
  20. Chen, H.-M., Kao, C.-F. et al, 'Analysis of Hardware and Software Approaches to Embedded In-Circuit Emulation of Microprocessors', Proc. of ACSAC, 2002
  21. Jonathan B. Rosenberg, 'How Debuggers Work -Algorithms, Data Structures, and Architecture', Wiley Computer Publishing, 1996
  22. IEEE Std. 1149.1a-1993, 'Test Access Port and Boundary-Scan Architecture', IEEE, Piscataway, N.J., 1993
  23. GR Alves and J,M. Martins Ferreira, 'From Design-for-Test to Design-for-Debug-and- Test : Analysis of Requirements and Limitations for 1149.1,' Proc. 17th IEEE VLSI Test Symp. (VTS99), IEEE CS Press, Los Alamitos, Calif., pp.473-480, 1999
  24. Hubert H'ogl,Dominic Rath, 'Open On-Chip Debugger', http://openocd.berlios.de/web/