본문 바로가기

OS/vxworks

(31)
VxWorks 5.5에서 zlib 사용 zlib는 데이터 압축에 사용되는 라이브러리로 오픈소스 산출물 중 하나이다. 라이브러리 크기도 작고, 여러 플랫폼을 지원하고 있으며, VxWorks 5.5에서도 사용가능하다. 다음의 과정으로 쉽게 사용할 수 있다. 1. http://www.zlib.net/ 에서 최신 zlib를 다운로드 받는다. 2. Downloadable Project를 생성하여, 모든 파일을 추가한다. 3. 컴파일 옵션에 -DNO_vsnprintf 를 주어 컴파일한다. 오픈소스 프로젝트 산출물을 사용할 때 항상 유의깊게 봐야하는 부분이 라이센스이다. 하지만, zlib의 라이센스는 zlib license 아래 배포되어, 아래와 같이 상업적인 목적으로 사용하여도 전혀 문제가 없다. 흔히 오픈소스 라이센스들에서 명시하는, 라이센스의 명시조..
WindShell Command 종류 명령어 내용 예 단축키 + 수행 중인 Task, 함수 중지시킴 + 명령 history 내용을 backward 방향으로 display + 명령 history의 내용을 forward 방향으로 display + , 'c' 명령어의 해당 글자를 'c'로 대치 + , + 로 해당 위치로 이동해야 함 WindSh 환경 설정 ?shConfig SH_GET_TASK_IO windSh로 출력 조정 ?shConfig SH_GET_TASK_IO ON Target console로 출력 조정 ?shConfig SH_GET_TASK_IO OFF Task 관리 명령 sp Task 생성 sp 타스크명 td Task 삭제 td 타스크명 tr Task resume tr 타스크명 ts Task suspend ts 타스크명 perio..
Posix Timer 사용시 주의할 점 목차 서론 본론 문제점 POSIX 타이머 예제 1 POSIX 타이머 예제 2 원인 해결책 결론 Watch Dog 타이머 POSIX 타이머 서론# 현재 vxworks 5.5를 사용하여 프로젝트를 진행하고 있으며, 타이머에 관련된 오퍼레이션이 필요하였기에 vxworks에서 제공하고 있는 POSIX 타이머를 사용하였다. 본 TM은 해당 프로젝트에서 POSIX 타이머를 사용했을시 발생할 수 있는 잠재적인 문제점에 대해 서술하고 있다. 본론# 이번 프로젝트가 개발 환경을 vxworks와 windows 를 목표로 둔 크로스 플랫폼을 지향하는 것이었기 때문에, 코드 재사용성을 고려하여 POSIX 타이머를 선택하였으나, 프로젝트를 진행중 POSIX 타이머가 예상치 못한 동작을 일으킨다는 사실을 발견하였다. 발견한 증상..
VxWorks6.x 개발을 위한 Workbench IDE Workbench2.4는 Eclipse 3.2 기반으로 이루어져 있었다. 원하는 플러그인이 있다면, Eclipse 3.2용으로 설치하면 바로 사용할 수 있을 것이다. (사실 VxWorks6.x가 나온지는 벌써 오래되었다. 기존 프로젝트를 VxWorks5.5와 Tornado로 개발하였고, 최근에 들어서야 비로서 VxWorks6.x대 Workbench교육을 받고 왔기 때문에, 지금에서야 차이점을 확인할 수가 있는 것이다.) 1. Project Navigator Tornado의 프로젝트 윈도우와는 달리 관련있는 프로젝트를 서브 프로젝트로 등록할 수가 있다. Tornado는 Bootable 프로젝트와 Downloadable 프로젝트 두가지 밖에 없었지만, Workbench는 7가지의 프로젝트를 선택할 수 있다...
VxWorks6.4 ED&R Lab mode 와 Deployed mode vxworks6.4에서 ED&R 관련 실습을 하다가 아래와 같은 조합으로 ED&R 모드를 실험을 해보았다. Boot parameter로 Lab모드와 Deployed모드를 선택할 수 있으며, Kernel Image 프로젝트에서 ED&R 번들을 선택할 수 있다. 가능한 조합과 실험 결과는 아래와 같았다. ED&R 번들 미포함 ED&R 번들 포함 부트 파라미터(0x0) - 커널 부팅시 Deployed로 표시 - 문제 있는 RTP는 STOP - ED&R 로그 없음 - 커널 부팅시 Deployed로 표시 - 문제 있는 RTP는 KILL 당함 - ED&R 로그 남음 부트 파라미터(0x400) - 커널 부팅시 Lab으로 표시 - 문제 있는 RTP는 STOP - ED&R 로그 없음 - 커널 부팅시 Lab으로 표시 - ..
VxWorks 5.5에서 CPU 및 Memory 측정 방법 목차 1. CPU 사용량 측정 1.1 Profile Scope 사용 1.2 spyLib 사용 1.3 getCpuState 함수의 구현 2. Memory 사용량 측정 2.1 MemScope의 사용 2.2 memShow 커널 함수 사용 2.3 memPartInfoGet 커널 함수 사용 2.4 getMemoryState 함수의 구현 1. CPU 사용량 측정# 1.1 Profile Scope 사용# Profile Scope의 경우 Tornado의 RTI 툴의 하나로써 Tornado 구입시 선택할 수 있는 옵션 툴이다. 이 툴을 사용하면 사용자는 태스크 및 함수들의 CPU 사용량에 대해 매우 상세한 정보를 얻을 수 있다. 실행 화면은 다음과 같다. 각 필드에서 확인할 수 있는 정보들은 다음과 같다. Cumulat..
VxWorks 5.5에서 Browser을 사용하여 CPU 및 Memory 최대 사용량 얻기 목차 서론 본론 배경지식 Browser WTX Protocol Tornado Tool 확장 하기 TCL LIBRARY API 메모리 Browser 수정 Spy Browser 수정 결론 참고문헌 파일 서론 # 시스템 동작시 CPU와 메모리 자원을 얼마만큼 소모하고 있는 가를 파악하는 일은 소프트웨어를 개발하는 것 만큼 중요한 일이다. 만약 CPU가 항상 100%을 동작하고 있다면, 이는 고객들의 새로운 요구 조건을 처리할 여력이 CPU에는 없음을 의미한다. 이를 위해서 개발자들은 소프트웨어를 보다 최적화시키거나, 더 성능이 좋은 CPU를 사용해야 할 것이다. 메모리도 동일하게 적용된다. 메모리 사용량을 확인하여, 적정 수준의 메모리를 시스템에 적용시켜야 할 것이다. 제한된 자원 속에서 동작하는 임베디드 시..