OS/vxworks

VxWorks6.x 개발을 위한 Workbench IDE

ppiazi 2009. 10. 31. 12:26
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가지의 프로젝트를 선택할 수 있다.
    • Bootable Project -> VxWorks Kernel Image Project (VIP Project라고도 한다.)
    • Downloadable Project -> Downloadable Kernel Module Project (DKM Project라고도 한다.)
  • Tornado의 Downloadable 프로젝트의 경우 프로젝트 선택 우클릭으로 해당 모듈을 타켓으로 다운로드가 가능했지만, Workbench에서는 해당 프로젝트를 펼친후 해당 DKM 결과물을 직접 클릭해야 Download 메뉴가 활성화 된다.
  • Bootloader를 위한 프로젝트를 추가할 수 있다.
  • RTP 지원으로 인한, Real-Time Process Project 와 해당 이미지를 저장하기 위한 ROM File System Project도 확인 할 수 있었다.

2. Source Editor
  • Tornado의 충격적인(!!) 소스 에디터에 비하면 완전 양반인 소스 에디터를 사용할 수 있다.
  • Vi Editor Plugin과 Emacs Editor Plugin이 기본으로 설치되어 있다.

3. Outline
  • 소스의 전체적인 구조를 확인할 수 있다.
  • Windows >> Show View로 원하는 View를 추가하여 개발 Perspective를 꾸밀수도 있다.
  • Tornado는 왜그런지 모르지만, 종료하기 전에 꾸며놓은 레이아웃이 초기화되는 오류가 있어서 사용할 때마자 재배치해야하는 고생스러움이 있었다.

4. Target Manager
  • 타켓 서버를 View 하나로 볼수 있다. Tornado에서는 Drop-down메뉴로 구성되어 있어, 타켓 서버 현황을 한눈에 보기가 쉽지가 않았다.
  • 타켓 서버와의 Connect와 Disconnect를 할 수 있다. 타켓 서버를 추가하거나 설정하고 싶다면 Target Manager View에서 작업하면 된다.
  • Tornado의 Broswer과 같은 별도의 윈도우없이도, Target Manager에서 구동 중인 task들과 RTP등을 확인 할 수가 있다.

5. Terminal 0
  • 개인적으로 좋아하는 터미널 프로그램이 있다면, 사용하지 않아도되는 기능이다.
  • Tornado가 설치되어 있음에도 불구하고, 터미널 연결을 위해 다른 프로그램을 구하는 노력을 했던 기억이 있던 개발자들은 환영할 만하다.
  • 모든 개발은 툴하나로 할 수 있다는 측면에서 상당히 매력적인 터미널 기능이다.

기타
  • Eclipse의 다양한 플러그인의 사용가능 -> svn으로 프로젝트를 관리하고 있다면, subversion plugin을 설치하여 사용할 수 있을 것이다.


이상, 겉핧기식의 Tornado와 Workbench의 차이점을 알아보았다.

개인적으로는 Tornado의 경우 Tcl 스크립트로 원하는 GUI나 타켓의 상황을 볼 수 있는 윈도우를 꾸밀수 있었으나, Workbench는 이런 기능을 구현하기 위해서는 Eclipse Plugin 프로그래밍을 해야하는 어려움이 있어 아쉽다. 파이썬 스크립트(또는 Tcl)로 확장가능한 기능이 있다면 좋을텐데...