• 제목/요약/키워드: Qplus-T RTOS

검색결과 2건 처리시간 0.018초

Qplus-T내장형 인터넷 시스템에서 멀티 태스크 프로그램을 위한 원격 트레이스 디버거 (A Remote Trace Debugger for Multi-Task Programs in Qplus-T Embedded Internet System)

  • 이광용;김흥남
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제9권2호
    • /
    • pp.166-181
    • /
    • 2003
  • 최근 인터넷의 급속한 성장으로 Web TV, PDA 및 Web phone과 같은 장치들이 인터넷에 연결되기 시작하고 있다. 그러나, 이러한 장치들은 복잡한 실시간 응용 시스템을 지원하기 위해 RTOS와 같은 실시간 운영체제가 필요로 하게 되었으며, 특히, 내장형 인터넷 응용 시스템을 개발하기 위한 디버거 등과 같은 적절한 도구들의 부족으로 개발하는데 어려움을 겪고 있다. 이에, 본 논문에서는 Qplus-T 실시간 운영 체제 내장형 시스템을 위한 새로운 트레이스포인트 디버깅 도구를 제안하다. 이 도구는 타이밍 트레이스포인트들을 이용하여 실시간 응용 소프트웨어의 디버깅을 쉽게 한다. 전통적인 브레이크포인트 디버거에 비해, 이 트레이스포인트 디버거는 온라인 및 오프라인 분석을 위해 응용 프로그램의 데이터를 동적으로 수집하고 기록하는 기능을 제공한다. 그리고, 응용프로그램의 실행을 멈추거나 원래의 실행 속도에 참견이 거의 없이 실행중인 응용프로그램의 변수들에 새로운 값을 할당해 보기 위한 수단으로도 제공된다. 본 논문에서 제시하는 트레이스포인트 디버거는 Qplus-T 인터넷 응용프로그램과 같은 타겟 실시간 응용 프로그램에 수많은 모니터링 트레이스포인트들을 추가하기 위한 효과적인 방법을 제공하며, 실행 중에 응용프로 그램의 행위를 모니터하고 분석하기 위한 트레이스포인트를 설정할 수 있다. 또한, RTL(Real-Time Logic) 표현을 이용하여 타이밍 문제를 명세화하고 검출할 수 있어 기존 트레이스포인트 디버거와는 다르다.

Qplus-T RTOS를 위한 원격 멀티 태스크 디버거의 개발 (Development of a Remote Multi-Task Debugger for Qplus-T RTOS)

  • 이광용;김흥남
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제9권4호
    • /
    • pp.393-409
    • /
    • 2003
  • 본 논문에서 인터넷 정보가전과 같은 Qplus-T 내장형 시스템을 위한 멀티 태스크 디버깅 환경에 대해 제안한다. 효과적인 교차 개발을 지원하기 위해 원격 멀티 태스크 디버깅 환경의 구조 및 기능틀을 제안할 것이다. 그리고, 좀더 효율적인 교차 개발 환경의 개발을 위하여 호스트-타겟 사이에 디버깅 커뮤니케이션 아키텍쳐를 개선할 것이다. 본 논문에서 제안하는 Q+Esto라는 원격 개발 도구들은 대화형 쉘, 원격 디버거, 리소스 모니터, 타겟 매니저, 그리고 디버그 에이전트들과 같이 몇 개의 독립된 도구들로 구성된다. 호스트에서 원격 멀티 태스크 디버거를 이용해서, 개발자는 타겟 실행 시스템 위에 태스크들을 생성시키거나 디버그 할 수 있으며, 실행 중인 태스크들에 접속하여 디버그 할 수 있다. 응용 코드는 C/C++ 소스레벨로 활 수 있으며, 어셈블리 레벨 코드로도 볼 수 있다. 그리고, 소스코드, 레지스터들, 지역/전역 변수들, 스택 프레임, 메모리, 그리고 사건 트레이스 등등을 위한 다양한 디스플레이 윈도우들을 포함하고 있다. 타겟 매니저는 Q+Esto 도구들에 의해 공유되는 공통된 기능 즉, 호스트-타겟 커뮤니케이션, 오브젝트 파일 로딩, 타겟 상주 호스트 메모리 풀의 관리, 그리고 타겟 시스템 심볼 테이블 관리 등등의 기능들을 구현한다. 이러한 기능들을 개방형 C API라고 부르는데, Q+Esto의 도구들의 확장성을 크게 개선한다. 그리고, 타겟 매니저와 타겟 시스템 커뮤니케이션을 위한 상대파트 모듈 즉, 디버그 에이전트가 존재하는데, 이것은 타겟의 실시간 운영체제 위에서 데몬 태스크 형태로 수행된다. 디버거를 포함한 호스트 도구로부터의 디버깅 요청을 밟아, 그것을 해석하고 실행하여, 그 결과론 호스트에 보내는 기능을 수행한다.