[t:/]$ 지식_

tinyOS 2일차. 첫번째 빌드.

2010/03/17

ubuntu hardy에서 graphviz는 설치가 좀 어렵다.

구 버전은 걍 설치 되는데,
tinyOS 개발 환경에서 원하는 graphviz 버전은,
오만가지 디펜던시가 따라 붙는다.

일단 바로 필요한 것 같지는 않으니 제외하고 PC에만 깔자.

첫번째 스텝을 다시 밟아보자.

다음 링크를 따라하면 적당히 완료된다.
http://mythicalcomputer.blogspot.com/2008/08/installation-of-tinyos-in-ubuntu.html

첫번째 빌드를 수행해보자.

새로 빌드트리를 만드는 것은 좀 복잡하니 연습단계에서는 기존 example 트리를 활용하자.

/opt/tinyos-2.1.0/apps/tests/TestAdc 로 이동하여
make 치면 에러가 나며 make 가능한 플랫폼이 나온다.

갖고 있는 보드를 살펴보니 telos 라고 써 있다.
버클리에서 만든 크로스보우 시리즈 중 하나인 것 같다.

make telos

빌드가 되고 build 디렉토리가 생긴다.

소스를 까보자.

vim TestAdcAppC.nc

configuration TestAdcAppC {
}
implementation
{
  components MainC,
             TestAdcC,
             new DemoSensorC() as Sensor,
             new DemoSensorNowC() as SensorNow,
             new DemoSensorStreamC() as SensorStream,
             LedsC;

  TestAdcC -> MainC.Boot;

  TestAdcC.Leds -> LedsC;
  TestAdcC.Read -> Sensor;
  TestAdcC.ReadNow -> SensorNow;
  TestAdcC.ReadNowResource -> SensorNow;
  TestAdcC.ReadStream -> SensorStream;
}

보아하니 자바와 유사한 구조다.
nesC라는 tinyOS의 어플 개발 언어인 것 같다.

어플 본체를 보면 자바도 C 도 아닌 형태를 하고 있다.

첫 번째 실습을 따라해보자.
http://docs.tinyos.net/index.php/Getting_Started_with_TinyOS

살펴보면 컴포넌트 구조 그래프를 make 로 뽑을 수 있다.
구조 그래프는 graphviz로 보면 된다.

즉 윈도우에서 살펴봐도 된다.

telosb 모듈을 리눅스에 꽂아보자.

motelist ; 꽂힌 보드 목록이 나온다.
make telosb reinstall bsl,/dev/ttyUSB0 ; 빌드해서 롬에 굽는다.

여기서 bsl 은 부트스트랩로더를 뜻한다.

Blink 프로그램을 바꿔보자.

소스를 열어서 타이머 피리어드를 3, 2, 1초로 바꾸어 다시 탑재해본다.
느리게 깜빡인다.

환경이 뭐 이리 편안하냐.
따라서 뭔가 내부 아키텍쳐나 OS 내부에 관심이 없어서 어플을 짤 수 있는 정도다.

내일부터는 내부를 살짝 까본 후,
nesC 학습으로 가자.

**

OS 내부는 C일줄 알았는데 nesC다 --ㅋ
뭐 이런 -
-;;;









[t:/] is not "technology - root". dawnsea, rss