티스토리 뷰

카테고리 없음

Tornado Tutorial

토픽셀프 2018. 8. 16. 01:22

Tornado Tutorial

Tornado Tutorial

GETTING STARTED GUIDE

WINDOWS VERSION

• 샘플 프로그램에 대한 작업 공간과 프로젝트를 생성.

• 프로젝트 생성후 GUI에서 프로그램을 빌드한다.

• 호스트 시스템에 VxWorks대상 시뮬레이터 프로그램을 다운로드 한다.

• 토네이도 쉘을 사용 하여 샘플 프로그램을 실행.

• 대상 시뮬레이터의 메모리 사용량을 관찰하는 브라우저를 사용.

• 그래픽 샘플 프로그램의 실행 흐름을 표시하고 작업 우선 순위의 문제를 식별할

WinView 소프트웨어 로직 분석기를 사용.

• 런타임 응용 프로그램 오류를 식별하는 debugger를 사용.

Step 1 : Tornado Start

프로젝트 생성 대화 상자가 열린다.

Step 2 : Create a Project

New/Existing(기존 작업) 대화 상자에서 프로젝트 생성이 표시되지

않을 경우 File > New Project 선택한다.

다운로드 응용 프로그램에 대한 옵션을 선택

Click OK to continue…

Tornado 응용 프로그램 마법사가 팝업된다.

이 마법사는 새로운 프로젝트를 만드는 단계를 안내한다.

• 프로젝트 이름.

• 프로젝트 파일에 사용할 디렉토리 전체 경로와 이름 입력.

• 프로젝트의 설명.

• 프로젝트가 속하는 영역에 대한 정보를 포함하는 작업영역 파일의 이름과 위치.

프로젝트는 응용 프로그램을 만드는 데 사용되는 소스 코드 파일, 설정, 구축 및 바이너리로 구성

작업 공간은 관련 자료 작업을 프로젝트간에 코드를 공유하고, 관련 응용 프로그램을 연결하는

유용한 수단을 제공한다.

프로젝트와 작업 영역이 작성되면, 작업 공간 창에 포함 된 프로젝트에 대한 정보를 표시한다.

Click Next to continue….

툴체인은 특정 타겟 프로세서 용 응용 프로그램을 빌드하는 데 사용되는 교차 개발 도구의 집합이다.

(전 처리기, 컴파일러, 어셈블러, 링커)

대상 시뮬레이터의 기본 툴체인 이름양식은 SIM hostOs gnu(예를 들어 SIMNTgnu).

아래 그림과 같이 드롭 다운 목록에서 대상 시뮬레이터 툴 체인과 옵션을 선택한다.

Click Next to continue….

마지막 마법사 대화 상자 설정을 확인한다.

Click Finish to continue…..

작업 창이 나타난다.

작업 영역 창 제목은 작업 영역의 이름을 포함 하고, 창 자체가 프로젝트의 폴더를 포함한다.

NOTE : 컨텍스트 메뉴에 표시되는 개체를 사용할 수 있는 모든 명령에 액세스하고,

작업창을 만들 페이지를 제공한다. 객체의 컨텍스트 메뉴를 표시하려면 오른쪽 마우스 버튼을 사용한다.

Step 3 : Project 에 Sample Source 파일 추가

Tutorial 의 샘플 프로그램은 cobble.c 이다.

이 시스템은 외부 소스에서 검색되는 데이터를 수집 하여 시물레이션하는 간단한 멀티 태스킹 응용 프로그램이다.

• tCosmos : 인터럽트 서비스 루틴 (ISR)를 시뮬레이션하고 새로운 데이터를 생성

• tSchlep : 데이터를 수집

• tCrunch : 결과 값을 얻기 위해 데이터에 계산을 수행

• tMonitor : 결과를 모니터링하고 안전 범위 밖에있는 경우 경고 메시지를 출력

cobble 프로그램은 progStart( )와 progStop( )루틴을 포함하고 있다.

Tutorial 에서 프로그램을 시작하고 중지하려면 다음 루틴을 사용한다.

샘플 프로그램을 추가하기 전에, Tornado 설치 경로에서 사용자의 Project 디렉토리로 복사한다.

샘플 파일 cobble.c는 C:\Tornado2.2\target\src\demo\start 위치에 있다.

작업 공간의 파일보기에서 Add_Files… 를 선택하여 파일을 추가 선택한다.

파일 브라우저 에서 나타나는 cobble.c 를 선택한다.

object Modules 파일에 있는 빌드된 cobbl.o 오브젝트 파일 이름을 확인한다.

Step 4 : Build the Project

기본 Project를 만들 때 정의 된 빌드 설정을 검토하려면 L 빌드 폴더를 열고

작업 창에서 Builds 탭을 선택하고 SIMNTgnu를 더블클릭한다.

빌드에 대한 속성 시트는 make 파일 규칙과 매크로뿐만 아니라, 컴파일, 어셈블러, 그리고

빌드에 사용되는 링커 옵션을 검토하는 데 사용한다.

사용자는 C/C++ 컴파일러 페이지를 표시 할 때, 디버그 정보 확인란은 기본적으로

선택되어 포함 하는것에 주의 해야한다.

이 옵션을 선택하면 프로젝트가 디버그 정보와 함께 컴파일 할 때 최적화가 꺼져 있는지 확인한다.

아래 메뉴에서 Build'L.out' 선택하여 프로젝트를 빌드한다.

Tornado 는 프로젝트를 빌드하기 전에 종속성 대화 상자에서 make 파일 종속성이

coddle.c 계산되지 않았 음을 경고한다.

Click OK to continue…

Tornado 빌드 진행….

빌드 출력 창에 오류 및 경고를 표시한다.

빌드 출력 창을 닫고 계속 진행…

Step 5 : Download the Project to the VxWorks Target Simulator

작업 공간의 파일트리에서 프로젝트를 다운로드하고, 모두 같은 프로세스의 일부로 통합 시뮬레이터를 시작할 수 있다.

마우스 오른쪽 버튼으로 프로젝트 폴더 이름을 선택하고 컨텍스트 메뉴에서 Download 'L.out'옵션을 선택한다.

Tornado Simulator 를 시작하라는 메시지를 표시한다.

Click Yes to continue…

VxSim 대화 상자가 나타난다.

표준 Smulator 를 선택하고 OK 클릭.

target simulator 창이 열리고 Tornado 는 대상 서버를 시작하라는 메시지를 표시한다.

VxSim-Lite 실행 대화 상자에서 확인 클릭.

대상 서버는 Tornado 호스트 도구 사이의 모든 통신을 관리한다.

대상 서버의 이름에 대한 규칙은 TargetName@hostName 이다.

example 에서 target의 이름은 VxSim 및 PC호스트의 이름은 27948738d3a24 이다.

target 서버의 이름은 Tornado 실행 도구 모음에 표시된다.

도구 모음은 시작, 브라우저 쉘 및 디버거 버튼을 포함하고 있으며 target 서버가 시작될 때 버튼이

활성화 된다.

Step 6 : Tornado shell에서 Application 실행

응용 프로그램을 실행하기 전에 debugger가 모든 프로그램 예외에 자동으로 응답 할 수 있도록

Tornado debugger를 구성하고 시작하는 것이 유용하다.

Tornado debugger(CrossWind)는 그래픽 및 명령 줄 디버깅 인터페이스의 최고의 기능을

결합한 제품이다.

중단 점을 설정하고 프로그램 실행 제어와 같은 일반적인 debugging활동, 편리한 포인트 앤 클릭

인터페이스를 통해 사용할 수 있다.

프로그램 목록 및 데이터 검사 창은 응용 프로그램의 중요한 부분에 대한 즉각적인 시각적 컨텍스트를 제공

debugger 를 구성하려면 [Tools > Options..]선택.

옵션 대화 상자가 나타나면 Auto altach to tasks 에 예외가 발생할 때 debugger가 자동으로

작업에 첨부하도록 선택.

Click OK to continue… debugger 의 자세한 내용은 Tornado 사용 설명서를 참조.

debugger를 시작하려면, Tornado 실행 도구 모음에 있는 debugger 버튼을 사용한다..

Tornado 창 하단의 상태 표시 줄에 debugger가 실행되고 있는지 표시한다.

Tornado shell(Windsh 라고 함)은 Target으로 다운로드 된 shell 명령 행에서 어떤

루틴을 호출 할 수 있는 C언어 명령 해석 프로그램이다.

shell 을 시작하려면 아래 그림의 shell 버튼을 클릭한다.

명령 줄에서 메인 루틴, progStart를 입력하여 프로그램을 실행한다.

Step 7 : Target 메모리 소비 검토

Browser 는 활성 작업의 요약, 메모리 할당 등을 포함하여 Target 시스템 상태를

모니터링 할 수 있도록 해준다.

Browser 를 시작하려면, Tornado 실행 도구 모음에서 Browser 버튼을 클릭.

Browser 가 나타나면 드롭 다운 목록에서 메모리 사용을 선택하고 주기적으로 새로 고침

버튼을 클릭. (이 디스플레이는 몇초마다 업데이트 된다)

Step 8 : Task 활동 검토

WindView는 실시간 응용프로그램에 대한 Tornado 로직 분석기 이다.

컨텍스트 스위치, 이벤트, 세마포어, 메시지 큐, 워치 독 타이머와 같은 계측 된 개체에

대한 정보에를 제공하는 동적 시각화 도구이다.

세마포어 (semaphore) 란 ?

동시에 정보를 공유하여 수행되는 두 개 이상의 프로그램이나 프로세스에서 활동(activity)의

위치(coordination)를 설정해 주는 데 사용되는 동기화를 위한 기본 조작.

메시지 큐(message queues) 란 ?

메시지큐는 메시지를 queue 데이타 구조 형태로 관리한다. 큐(:12)는 선입선출(먼저 들어간게 먼저 나오는)

데이타 구조를 말하며, 보통의 은행창구 혹은 일반적인 줄서기를 생각하면 된다.

워치 독 타이머(watch dog timer) 란 ?

그 이름대로 "집 지키는 개" 로 컴퓨터가 정상적인지 어떤지를 항상 감시하기 위한 타이머이다.

프로그램의 이상상태를 항상 감시하고 있으며, 만일 비정상으로 되었을 때에는, 초기 스타트로부터

재개시켜 정상 상태에 되돌리는 기능을 한다.

WindView 제어창을 실행하기 위해 실행 도구 모음에서 아래 그림과 같이 버튼을 클릭

WindView 컬렉션 구성 대화 상자도 함께 나타난다.

드롭 다운 목록에서 Additional Instrumentation 선택하고 OK 클릭.

데이터 수집을 시작하려면 WindView 제어 창에서 GO 버튼을 클릭.

몇 초 기다린 후 데이터 수집의 상태를 업데이트하기 위해 WindView 제어창에서 업데이트 버튼 클릭.

사용자는 호스트 시뮬레이터 target에서 WindView데이터를 업로드하기 전에,

shell 명령 행에서 progStop을 입력하여 샘플 프로그램을 중지시킨다.

데이터를 업로드 하기위해 아래 그림과 같이 업로드 버튼 클릭.

데이터 업로드하는 동안 뷰 그래프가 표시된다.

확대/축소, 100%확대 등의 버튼을 제공한다.

뷰 그래프 디스플레이의 색은 Tool > WindView > Options 에서 변경할 수 있다.

깃발 모양의 아이콘은 세마포어 표시.

수평라인은 작업 상태를 나타낸다. (실행, 대기, 준비 등)

tCrunch 는 데이터 연결리스트에서 제거하는 노드를 처리하는 작업을 나타낸다.

Step 9 : Task 우선 순위 수정를 수정하여 debugger

작업 영역 파일보기 에서 cobble.c를 두번 클릭하여 편집기에서 소스코드를 연다.

•taskSpawn( ) 함수 호출에서 tCrunch 에 대한 240 인수를 230 으로 변경한다.

•taskSpawn( ) 함수 호출에서 tMonitor에 대한 230 인수를 240 으로 변경한다.

파일 저장 …

파일보기에서 L.out을 다시 빌드한다.

빌드가 끝나면 빌드창을 닫고 L.out 프로젝트를 다운로드 한다.

Tornado shell 에서 progStart명령으로 프로그램을 다시 시작한다.

시뮬레이터 shell 창에 예외가 발생한 작업수를 표시한다.

디버거는 오류가 생성된 위치를 표시하는 포인터를 포함하여 자동으로 편집기 창을 연다.

계속하기 전에 Target 시뮬레이터 shell 창에서 reboot을 입력하여 재부팅을 입력한다.

시뮬레이터를 재부팅 한 후 shell창에서 i 명령을 사용하여 VxWorks시스템 작업이 현재 실행되고

있는지 확인 할 수 있다.

Step 10 : 마지막 버그 수정

파일보기 에서 cobble.c를 두번 클릭하여 연다.

crunch( ) 함수의 주석코드를 사용하여 예외 오류의 소스를 수정한다.

L.out 빌드 후 L.out 다운로드, debugger 버튼을 눌러 debugger 시작.

progStart명령을 입력하여 shell 에서 프로그램을 다시 시작.

WindView제어 창을 클릭 후 데이터 수집을 시작하기 위해 GO버튼을 클릭한다.

몇 초간 기다린 후 데이터 수집 상태를 업데이트 한다. (최소 buffer에 2만큼 올라갈 때까지 수집)

데이터 업로드 버튼을 사용하여 업로드한다. 업로드 하는 동안 뷰 그래프가 표시된다.

실행 도구 모음에서 Browser버튼을 클릭하여 메모리 사용량을 확인할 수 있다.

Browser가 나타나면 드롭 다운 목록에서 메모리 사용을 선택하고 새로고침 버튼을 클릭한다.

메모리 소비는 일정한 범위 내에서 소폭 변동됨을 보여준다.

또한 시뮬레이터 창에서의 출력은 프로그램이 잘 실행되고 있음을 나타낸다.

shell 명령 창에서 progStop을 입력하여 프로그램을 중지한다.

Tornado+Tutorial.pdf

from http://mystyle1057.tistory.com/133 by ccl(A)

댓글