본문 바로가기

예전글 목록

[TinyOS] #1 WinXP에 TinyOS 설치하기


공식 TinyOS 설치 관련: http://docs.tinyos.net/index.php/Getting_started
TinyOS는 Windows, Linux에서 설치가 가능하며 Live CD 혹은 Image를 통한 VMware를 운영이 가능하다..

일단 WinXP에서 Cygwin 플랫폼을 통한 설치를 하기로 했다. 
 
1단계: JAVA SDK 설치.
TinyOS에 따라서 Java SDK 버전을 결정해야 한다. TinyOS 2.1이면 Java 1.6 SDK를 TinyOS 2.0.2 는 Java 1.5 SDK를 설치해야 한다. ==> 이는 TinyOS Source Platform내의 Java 버전과 Mismatch가 될경우 괜히 삽질하게 되기 때문이다.
설치는: http://java.sun.com
설치후 Java의 패스를 설정.

2단계: Cygwin 설치
setup.exe파일과 구해서 인터넷 Mirror사이트를 통해서 설치를 하여도 되지만, 좀더 편리하고 안정적으로 플랫폼을 구현하기 위해서 미리 적절하게 압축해둔 cygwin을 구해서 압축을 풀고 설치를 해도 된다.
해당 파일은: http://cone.informatik.uni-freiburg.de/people/aslam/cygwin-files.zip
다운로드 후 압축을 풀고 setup.exe를 실행하면 아래와 같이 Imstall from Local Directory 를 선택한다.



이후 Local Package Directory는 실제 다운 받은 Release 폴더를 선택하여 주면 된다.
그럼 다음과 같이 미리 정해진 파일들을 cygwin에 설치할 수 있다.


3단계: 툴체인, 소스, tinyos 설치
TinyOS의 개발도 분명 Embedded 환경의 개발이다. 그러므로 타겟의 컴파일 환경을 구축해야 한다. 또한 TinyOS의 특징인 nesc compiler도 설치해야 한다. 타겟의 CPU에 따라서 다음의 툴들을 설치해야 한다.
 * AVR 계열 설치
  - avr-binutils
  - avr-gcc
  - avr-libc
  - avarice
  - insight
 * MSP430 계열 설치
  - ~~~
 * PXA27X 계열 설치
  - ~~~
기본적으로 툴체인의 설치는 TinyOS의 홈페이지나, 타겟보드 회사의 홈페이지에서도 Download를 제공해 줄것이다. 이를 참조하여 설치하면 된다.
다음으로 nesc, tinyos-tools, tinyos source를 설치해야 한다.
*** 즉 정리하자면 다음과 같다. 만약 micaz와 같은 ATmega128 계열의 프로세스를 사용하는 보드라면, 설치해야 하는 툴들은 아래와 같다.

Atmel AVR Tools

Tool Windows/Cygwin Linux
avr-binutils avr-binutils-2.15tinyos-3.cygwin.i386.rpm avr-binutils-2.15tinyos-3.i386.rpm
avr-gcc avr-gcc-3.4.3-1.cygwin.i386.rpm avr-gcc-3.4.3-1.i386.rpm
avr-libc avr-libc-1.2.3-1.cygwin.i386.rpm avr-libc-1.2.3-1.i386.rpm
avarice avarice-2.4-1.cygwin.i386.rpm avarice-2.4-1.i386.rpm
insight (avr-gdb) avr-insight-6.3-1.cygwin.i386.rpm avr-insight-6.3-1.i386.rpm

TinyOS-specific Tools

Tool Recommended Windows/Cygwin Other Windows/Cygwin Linux Command
NesC nesc-1.2.8a-1.cygwin.i386.rpm nesc-1.2.8b-1.cygwin.i386.rpm> nesc-1.2.8a-1.i386.rpm rpm -Uvh
rpm -Uvh --ignoreos (if Cygwin complains)
Tool Windows/Cygwin 32-bit Linux 64-bit Linux Command
tinyos-tools tinyos-tools-1.2.4-2.cygwin.i386.rpm tinyos-tools-1.2.4-3.i386.rpm tinyos-tools-1.2.4-3.i686.rpm rpm -ivh --force (1.x tree)
rpm -Uvh (no 1.x tree)

TinyOS 2.x

Windows/Cygwin Linux
TinyOS tinyos-2.0.2-2.cygwin.noarch.rpm tinyos-2.0.2-2.noarch.rpm

4단계: 업체에서 제공하는 TinyOS Sample Code, 패치 설치
아마 국내에서 판매하고 있는 TinyOS 관련 보드들을 사용한다면 해당 회사에서 제공하는 샘플코드나 패치들이 있을 것이다. 혹은 이와는 다르게 한번에 개발환경을 구축할 수 있도록 제공도 할 것이다.

5단계: Graphviz 설치

6단계: 설치후 테스트
설치후 /opt/tinyos-2.x/apps/Blink <= 의 폴더에서
make micaz 와 같이 컴파일이 완료되는지 확인..

예외 사항
1. 혹시 /opt 폴더가 없을 경우 생성하여 준다.
2. TOSSIM 관련해서는 TinyOS의 11장 TOSSIM의 맨하단부분에 수정사항이 나와 있다.