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다 --ㅋ
뭐 이런 --;;;