OS/vxWorks Torando users guide 분석
  • 728x90
    반응형

       

    Overview 번역.pdf

    Tornado_users_guide.pdf


       

       

    Overview(개요)   

       

       

       

    목차

     

    1. 소개

       

    2. Tornado 교차 개발 환경

       

    3. VxWorks 타겟 환경

       

    4. Tornado 호스트 IDE

       4.1 토네이도 편집기

       4.2 프로젝트 관리

       4.3 컴파일러

       4.4 Windsh 명령

       4.5 CrossWind 디버거

       4.6 브라우저

       4.7 WindView 소프트웨어 로직 분석기

       4.8 VxSim 대상 시뮬레이터

       

    5. 호스트 대상 인터페이스

       5.1 대상 에이전트

       5.2 Tornado 대상 서버

       5.3 Tornado 레지스터리

       5.4 가상 I/O

       

    6. 고객 서비스 (생략)

       

       

       

       

    1. 소개

     

    Tornado 소프트웨어 개발을위한 통합 환경이다.

     

    • VxWorks 고성능 실시간 운영 시스템이다.

       

    • Tornado VxWorks 관리에 용이한 통합 개발환경(IDE)이다.

      프로젝트를 구축 하고 호스트 대상으로 통신을 설정 관리한다.

      실행 디버깅 기능을 제공하고 VxWorks 응용 프로그램을 모니터링한다.

       

       

       

    IDE 주요 기능

    • 통합 소스 코드 편집기.

    • 프로젝트 관리.

    • C/C++ 컴파일러.

    • 브라우저는 시각화 대상이되는 시스템을 모니터링 한다.

    • CrossWind는 그래픽이 강화 된 소스 형태의 Debugger 이다.

    • Windsh는 대상을 제어하는 C언어 명령 쉘지원.

    • VxWorks 타겟 시뮬레이터 VxSim을 지원하는 통합 버전이다.

    • 소프트웨어 로직 분석기인 WindView를 지원하는 통합 버전 시뮬레이터 이다.

    • 사용자 정의 옵셩 지원편집자 및 구성 관리(CM)도구뿐만 아니라 GUI지원.

       

       

       

    Tornado 환경은 호스트 기반에 대한 공유 액세스로 호스트 시스템이다.

    아래 그림은 Tornado 주요 상호 작용 호스트 구성 요소 사이의 관계 대상 시스템에

    대하여 1-1그림으로 나타낸다.

       

    Tornado 개발 환경 1-1

       

    런타임 시스템으로 최종 응용프로그램과 Tornado 완전히 구분되는 크로스 개발 환경을 제공한다.

    실시간 커널을 포함하고VxWorks일부 라이브러리를 사용하도록 지원한다.

       

       

       

       

       

    2. Tornado교차 개발 환경

     

    개발 기능을 분리하여 수행된다.

    호스트 시스템의 대상에 대한 최소한의 접근을 제공.

    런타임 개발 환경 시설이 독립적이다.

    크로스 개발환경은 호스트의 프로젝트 파일을 관리 있는 편집, 컴파일, 링크 저장 기능으로 VxWorks 운영 체제를 구성할 있다.

       

    C또는C++ 모듈을 컴파일  있다.

    모듈 응용 프로그램 개발 가속화 하기 위해 VxWorks 런타임 라이브러리를 사용 있다.

    호스트 시스템의 제어 하에 대상에 대한 실시간 코드를 실행하고 디버깅  있다.

    일반적인 개발 환경에서 하드웨어를 하나 이상 포함시켜야 한다.

    네트워크 개발 호스트 시스템 하나 이상의 임베디드 타겟 시스템으로 구성된다.

    호스트와 대상 시스템을 연결하기 위해 일반적으로 이더넷 또는 직렬연결 한다.

    하드웨어를 사용할 없는 경우통합 VxSim대상 시뮬레이터 응용프로그램 개발을 시작할 있다.

    일반적으로 호스트 개발 시스템 많은 양의 RAM 함께 디스크 공간, 백업 미디어, 프린트 기타 주변 장치를 갖추고 있다.

    반면에, 일반적으로 대상 시스템 실시간 응용 프로그램에 필요한 리소스 디버깅을 위한 적은양의 추가 리소스만을 갖추고 있다.

       

    Tornado환경의 기본적인 장점은 응용 프로그램 모듈은 런타임 시스템 라이브러리와 서로 연결 필요가 없다는 것이다.

    Tornado 동적으로 외부 기호 참조를 해결하기 위해 모듈의 심볼테이블을 사용하여 직접 재배치 가능한 오브젝트 모듈을 로드한다.

    심볼테이블 사용은 대상 서버(호스트에서 실행되는) 의해 이루어 진다.

    적은 양의 데이터를 받을경우 개발주기를 단축하여 다운로드 가능하고, 부분적으로 완성 모듈은 테스트 디버깅을 위해 다운로드 있다.

    호스트 내부 Tornado쉘과 디버거를 호출하고 개별 응용 루틴 또는 완료된 작업 하나를 테스트하기 위해 대화식으로 사용 있다.    

    토네이도 개발환경은 개발자가 원래의 소스코드에서 응용 프로그램을 확인하고 디버깅 있는CrossWind 디버거가 포함되어 있다.

    중단 설정, 싱글 스테핑, 검사 구조 등이 모두 편리한 그래픽 인터페이스를 사용하여 소스 레벨에서 수행된다.

       

       

       

       

       

       

       

    3. VxWorks 타겟 환경

     

    전체 VxWorks 운영 체제 환경은 Tornado 포함된다.

    인터럽트 구동, 우선 순위 기반의 작업 스케줄링 알고리즘을 사용하는 멀티 태스킹 커널 포함하고 있다.

    런타임 시설로는 POSIX인터페이스, intertask 통신광범위한 네트워킹파일 시스템 지원, 기타 여러 기능이 포함되어 있다.

    Tornado 도구의 일부와 유사한 대상 기반 도구뿐만 아니라 대상 상주 명령 심볼테이블동적 링커 포함되어 있다.

       

    주의 : VxWorks 타겟 기반 도구를 실행하면, 호스트에 실행되는 해당 도구를 동시에 사용하면 안된다.

       

    아무런 기술적 제한은 없지만, 예를들어 두개의 각각의 심볼테이블 환경에 혼란을 가져올 있다.

    대부분의 사용자는 호스트 기반 도구 대상 기반 도구 하나를 선택하여 사용한다.

       

    표준 VxWorks제공뿐만 아니라, Tornado 선택적 구성 요소 VxVMI에서 제공하는 기능과 호환된다.

    VxVMI텍스트 세그먼트를 있는 능력과 예외 벡터 테이블 읽기 전용기능을 제공하며, 자신의 가상 메모리 관리자를 구축 개발자를 위한 루틴의 집합이 포함되어 있다.

    VxVMI 사용중인 경우, Tornado 대상 서버 로더/ 로더는 페이지 정렬 보호 등의 문제를 고려한다.

    Tornado 또한 VxWorks 선택적 구성 요소인 VxMP VxFusion 호환된다.

    VxFusion 이더넷을 포함한 모든 연결종류를 동기화 하는 동안 VxMP 다른 CPU에서 태스크 동기화를 제공한다.

       

       

       

       

       

       

    4. Tornado 호스트 IDE

     

    Tornado VxWorks응용 프로그램을 개발 디버깅을위한 단일 환경으로 VxWorks프로그래밍의 다양한 요소를 통합하고있다.

    Tornado IDE 개발자들이 정리및 작성 하여 호스트 시스템에서 응용 프로그램을 컴파일 있다. 그리고 다운로드를 실행하고 목표를 디버깅한다.

       

    섹션은 IDE 주요 기능을 요약  이다.

       

       

       

       

       

    4.1 Tornado Editor

     

    Tornado 소스 코드 편집기에는 다음과 같은 기능이 포함되어 있다.

       

    • 표준 텍스트 조작기능.

    • C및 C++ 구문 요소 색상 강조 기능.

    • 디버거 통합 : 편집기 창 코드 실행을 추적한다.

    • 컴파일러 통합 : 프로젝트 관리 유틸리티 링크, 컴파일러 경고 및 직접 편집기

                         창에서 해당 소스 오류표시.

       

       

       

       

    4.2 프로젝트 관리

     

    Tornado프로젝트 기능은 조직 구성, VxWorks응용 프로그램 구축을 단순화 한다.

    빌드 환경(컴파일러 플래그 포함)그래픽 구성뿐만 아니라, VxWorks의 그래픽 구성을 (종속성 및 크기 분석 포함)포함하고 있습니다.

       

    프로젝트 구성 또한 ClearCase와 같은 일반적인 구성관리 도구를 사용하여 기본 통합을 제공한다.

       

       

       

       

       

    4.3 컴파일러

     

    Tornado는 C와 C++프로그램을 위한 GNU컴파일러뿐만 아니라 완벽한 개발도구를 지원한다 :

    • cpp, c의 전처리.

    • gcc 의 c및c++ 컴파일러.

    • 프로그램을 구축하는 자동화 도구를 만들 수 있다.

    • ID, 프로그램 가능한 정적 링커.

    • 이동형 어셈블러

    • 바이너리 유틸리티

       

    이 도구는 자유 소프트웨어 재단 (FSF)에서 개발 한 GNU도구의 상업 버전이다.

    Tornado 프로젝트 기능은 사용하기 쉬운 GNU도구에 대한 GUI를 제공한다.

       

       

       

       

       

    4.4 Windsh 명령

     

    Windsh는 호스트에서 모든 런타임 구성을 대화 형 액세스를 제공하는 호스트 레지던트 명령 쉘이다.

    쉘은 거의 모든 C언어 표현을 해석하고 실행할 수 있다.

    C++소스 코드에서 사용하는 개발자가 같은 형식으로 기호를 참조할 수 있도록 "demangling"등 의 C++지원.

    Tornado쉘은 전체 TCL번역기가 포함되어 있다.

       

    쉘은 런타임 시스템 함수를 호출하는 응용 프로그램 함수를 호출, 검토 및 응용 프로그램 변수를 설정, 새로운 변수를 만들고 검사하고 메모리를 수정, 심지어 모든 C연산자와 일반 계산을 수행하는 데 사용할 수 있다.

    쉘은 단일 스테핑 중단 점, 상징적 디스어셈블러 및 스택 검사 등 필수 디버깅 기능을 제공한다.

    쉘 해석기는 명령 기록을 유지하고 명령 줄을 편집 허용.

    쉘은 대상 에이젼트가 지원하는 가상 I/O 채널 입력과 출력을 포함하여 표준 입력과 표준 출력을 redirect 할 수 있습니다.

       

       

       

       

       

    4.5 CrossWind 디버거

     

    원격 소스 레벨 디버거 CrossWind는 GNU소스 레벨 디버거(GDB)의 확장 버전입니다.

    GDB의 대표적인 확장 기능은 직관적인 그래픽 인터페이스이다.

    CrossWind는 자신의 디버깅 요구 사항에 대한 복잡한 매크로 또는 확장하여 만들 수 있는 포괄적인TCL 스크립팅 인터페이스를 포함하고 있다.

       

    최대의 유연성을 위해, 디버거 콘솔 창은 GDB명령 줄 인터페이스와 Winsh, Tornado 쉘의 시설을 모두 합성 하였다.

    개발 호스트에서 다음 기능을 수행하는 CrossWind를 사용할 수 있다.

    • 대상 시스템에서 작업을 디버깅.

    • 쉘에서, 또는 디버거 자체에서 응용프램의 생산 여부를 판단하여

              이미 실행중인 작업에 연결한다.

    • 응용 프로그램 수준 또는 시스템 레벨중 하나에서 중단 점 및 기타 디버깅

              기능을 사용한다.

    • 응용 프로그램 코드보기는 C또는 C++소스어셈블리 수준의 코드로, 또는

              두 가지 모두를 보여주는 혼합 모드이다.

       

       

       

       

       

       

    4.6 브라우저

     

    Tornado 브라우저는 시스템 객체 뷰어, Tornado 쉘 그래픽 을 구성한다.

    브라우저 디스플레이는 다음과 같은 대상 시스템의 상태를 모니터링할 수 있는 기능을 제공한다.

       

    • 활성 작업의 요약(시스템 작업 또는 응용 프로그램 작업으로 분류).

    • 등록 사용, 우선 순위 및 기타 등의 특정 태스크의 상태 속성이 포함되어 있다.

    • 태스크의 전체 컬렉션 비교 CPU사용량 표시.

    • 모든 태스크의 Stack소비량 표시.

    • 메모리 할당.

    • 모듈에대한 요약 정보는 런타임 시스템에 동적으로 연결.

    • 로드 된 모든 객체 모듈의 구조 표시.

    • 운영 시스템의 세마포 와 같은 객체, 메시지 대기열, 메모리 파티션 및 감시 장치 타이머.

       

       

       

       

       

    4.7 WindView 소프트웨어 로직 분석기

     

    WindView Tornado 로직을 분석하는 실시간 소프트웨어 이다.

    컨텍스트 스위치, 연결되는 이벤트 뿐만 아니라 계측 개체들에 대한 정보를 제공하는 동적 시각화 도구이다.

    Tornado 함께 사용을 위해서 설계된 WindView 통합 버전이 포함된 VxSim 대상 시뮬레이터이다.

       

       

       

    4.8 VxSim 대상 시뮬레이터

     

    VxSim 대상 시뮬레이터는 대상 운영 체제를 시뮬레이션 하는 호스트 시스템에 VxWorks 포트이다. 어떤 대상 하드웨어가 필요하지 않다.

    대상 시뮬레이터는 학습, Tornado사용 임베디드 시스템 개발을 용이하게 한다.

    개발자가 하드웨어 관련 코드(BSPs) 대상 하드웨어에 의존하지 않는 응용 프로그램 일부에서 작동하기위한 독립 환경을 제공한다.

    Tornado네트워킹 지원없이, 사용자 하나의 인스턴스로 실행 대상 시뮬레이터의 통합 버전이 포함되어 있다.

    VxSim시뮬레이터는 전체 옵션 제품으로 사용할 수 있다. 여러 인스턴스를사용하고, 네트워킹 및 대부분의 다른 옵션 제품을 지원한다.

       

       

       

       

       

    5 Host 대상 인터페이스

     

    이 섹션에서 설명하는 Tornado의 요소는 호스트와 타겟 개발 환경간의 링크를 제공한다:

    • 대상 에이전트는 호스트 시스템에있는 대상 서버와 통신하고, VxWorks와의 확장이

      가능한 구성 요소이다.

    • 대상 서버는 대상 에이전트 쉘 및 디버거 등의 Tornado도구를 연결한다.

    • Tornado 레지스트리는 대상 서버에 대한 액세스를 제공하고, 네트워크에있는 모든

      호스트에서 실행할 수 있다.

       

       

       

       

       

    5.1 대상 에이전트

     

    대상에서 모든 Tornado 도구는 대상 에이전트로 표시된다.

    대상 에이전트는 Tornado도구의 요청에 응답하는 데 필요한 핵심 서비스이다.

    에이전트는 대상 서버에서 전송 요청에 응답하고, 그 결과로 응답한다.

    이러한 요청은 메모리 트랜잭션 중단 및 기타 대상 이벤트에 대한 알림 서비스 이고, 가상 I/O 지원 및 작업 제어를 할 수 있다.

       

    에이전트는 대상 컨트롤의 두 가지 모드를 합성한다 :

    태스크 모드(응용 프로그램 수준에서 대상주소)와 시스템 모드

    (시스템 전체의 제어, ISR디버깅 포함)

    에이젼트는 요구에 따라 두가지 모드를 스위치 형태로 실행할 수 있다.

    에이전트의 드라이버 인터페이스는 런타임의 독립적인 VxWoks I/O 시스템을 방지한다.

    에이전트 드라이버는 폴링 또는 인터럽트 구동 모드 중 하나에서 작동 할 수 있다.

    폴링 드라이버는 시스템 레벨의 중단점을 지원하기 위해 필요하다.

    런타임 독립 커널이 실행되기 전에 대상 에이전트가 실행할 수 있다는 것을 의미한다.

    이 기능은 새 대상 플랫폼에 porting VxWorks의 초기 단계를 위해 중요하다.

       

    에이전트의 주요 기능은 호스트에 상주하는 오브젝트 모듈로더의 요청을 서비스 하는 것이다.

    에이전트가 런타임 시스템에 연결되고 ROM에 저장되어있는 경우, 대상 서버가 자동으로 시작되면 대상 런타임 시스템의 호스트에 상주하는 이미지에서 심볼 테이블을 초기화 한다.

    이 시점에서 모든 다운로드 시간을 대폭 줄일 수 있다.

    에이전트 자체가 확장 성이며, 포함하거나 제외 하는 기능을 선택할 수 있다.

    아주 작은 메모리가 응용 프로그램의 목적 이외의 활동에 사용할 수 있는 경우에도 필드 테스트를 허용하고, 최종 생산 구성의 생성을 허용한다.

       

       

       

       

       

    5.2 Tornado 대상 서버

     

    대상 서버는 호스트에서 실행되고 대상 에이전트에 Tornado도구를 연결한다.

    대상에 대한 하나의 서버가 있다.

    모든 호스트 도구는 기능을 대상 에이전트에 필요한 트랜잭션으로 요청을 차단하여 도구의 요청을 충족하는 서버를 통해 대상에 액세스  있다.

    대상 서버가 대상에 어떤 연결 방법의 세부 사항을 관리하는 것은 필요하다. 그래서 도구는 호스트-대상 전송 메커니즘에 대해 필요가 없다.

       

    어떤 경우, 서버는 대상 에이전트에 직접 도구의 서비스 요청을 전달한다.

    다른 경우에, 호스트에서 대상 서버 내에 요청을 완전히 이행 도있다.

       

    대상 서버는 호스트 도구 전용 영역에서 대상 메모리를 할당하고 호스트에서 대상의 심볼테이블을 관리한다.

    대상에 모듈을 다운로드하기 전에,  서버가 호스트 시스템에서 동적 링크 주소 확인으로 대부분의 작업을 수행하도록 허용한다.

       

    대상 서버 도구가 대상 서버가 실행중인 호스트에 대한 네트워크 액세스 동안에는, Tornado도구와 동일한 호스트에 있을 필요가 없다.

       

       

       

       

       

    5.3 Tornado 레지스터리

     

    토네이도는 편한 이름별로 대상 서버를 선택할 수 있는 중앙 대상 서버 레지스트리를 제공한다.

    레지스트리 연결은 네트워크 주소와 대상서버 이름이 필요하다 이를 이용해서 대상 서버에 연결한다.

    사용 가능한 대상 목록을 통해 간접적으로 레지스트리를 볼 수 있다.

       

    TargetName이 서버를 시작하는 사용자가 선택한 대상 서버 이름이다.

    호스트 상호 작용으로 네트워크를 통해 서버 이름을 고유 유지하려면, 대상 서버 이름 양식TargetName@host 형태로 지정한다. (기본값으로는 대상의 네트워크 이름)

    레지스트리는 이미 사용중인 이름 등록 시도를 거부한다.

       

    하나의 레지스트리가 네트워크의 모든 대상에 대한 액세스를 허용하기 위해 개발 사이트에서 사용하는 것이 좋다.

    레지스트리를 삭제해서는 안된다. 레지스트리 없이 대상 서버의 이름은 알 수없다. 그리고 Tornado도구는 대상에 연결할 수 없게 된다.

       

       

       

       

    5.4 가상 I/O

     

    가상 I/O 대상 에이전트 대상 서버에서 공동으로 제공하는 서비스이다.

    다른 에이전트와 서버  거래와 같은 통신 링크를 사용하여 표준 C언어 I/O호출을 통해 응용프로그램의 입력 또는 출력을 전달 하는 논리적 장치의 임의 번호 (VxWorks end) 구성되어 있다.

       

    메커니즘은 개발자가 유일한 통신 채널을 이미Tornado 개발 도구와 대상을 연결하는데 사용한 경우 표준 C루틴을 통해 I/O 사용할 있다.

       

    VxWorks 응용 프로스램의 관점에서 표준 I/O채널은 /vio/0, /vio/1 등등 일반 문자 장치이다.

    I/O시스템 : VxWorks프로그래머 가이드에 설명된 다른 문자 장치에 적용되는 동일한 VxWorks호출을 사용하여 관리된다.

    호스트 측면에서, 가상I/O 또는 대상 서버 콘솔에 연결되어 이는 대상 서버가 실행되고 있는 호스트의 창이다.

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

    728x90
    반응형

    'OS > vxWorks' 카테고리의 다른 글

    Task 란? / taskSpawn  (0) 2017.06.30
    VxWorks Workbench / 전기신호 강의 정리  (0) 2017.06.30
    VxWorks / SBC 강의 정리  (0) 2017.06.30
    Tornado Tutorial  (0) 2017.06.26
    Tornado 2.2 Setup (GUIDE)  (1) 2016.12.23
상단으로