Armadillo240에서 RT컴포넌트를 기동

a220-angle-250.jpg a240-long-150.jpg

Armadillo240는 アットマークテクノ에서 판매하고 있는, ARM를 탑재한 Linux탑재 가능한 소형 CPU보드입니다.

Atmark Techno, Inc.에서 ATDE2(Atmark Techno Development Environment)와 GNU 크로스 개발툴, AtmarkDist라고 하는 3개의 개발툴이 제공되어 간단하게 크로스 개발을 실시할 수 있습니다.
여기에서는 Armadillo로 실행할 수 있는 RT컴포넌트의 실행 파일을 크로스 개발합니다. 그 후, Armadillo 기동해 RT컴포넌트가 자동으로 기동하는 이미지 파일(romfs:루트 파일 시스템)을 작성합니다.

작업의 흐름

  • 크로스 개발 환경의 정비
  • ATDE2의 정비(필요한 패키지의 인스톨)
  • OpenRTM-aist의 크로스 컴파일과 인스톨
  • RT컴포넌트의 크로스 컴파일
  • Armadillo240상에서 실행 파일을 기동
  • Armadillo240의 이미지 파일을 작성
  • RtcLink상에서 동작 확인

크로스 개발 환경의 구축

Armadillo로 실행할 수 있는 RT컴포넌트의 실행 파일을 크로스 컴파일로 작성합니다. Atmark Techno, Inc.에서 Armadillo 시리즈의 개발 환경이 VM이미지로 배포되고 있어 크로스 개발 환경에 필요한 툴이 사전에 인스톨 되어 있습니다.

ATDE2와 VMware의 다운로드

ATDE2
ATDE2(Atmark Techno Development Environment)는 AtmarkTechno로부터 배포되고 있는 Admadillo의 크로스 개발 환경을 위한 VMware용의 가상 PC이미지입니다. 실체는 Debian GNU Linux로 크로스 개발에 필요한 툴 체인이 미리 인스톨 되어 있습니다.
    • 여기에서 무료로 다운로드 받을 수 있습니다.
VMware Player
VMware Inc. 에서 무료로 배포되고 있는 가상 PC소프트로 VMware의 가상 PC이미지를 실행할 수 있습니다. ATDE2를 기동하기 위해서 필요합니다. Windows버전과 Linux버전이 있습니다만, 이하 Windows버전의 VMware Player를 사용하는 것으로서 진행합니다.
    • 여기에서 무료로 다운로드 받을 수 있습니다.

ATDE2와 VMware의 기동

  • VMware로 ATDE2를 기동합니다.

※ATDE2-20071018.zip파일의 압축을 해제해 폴더안의 ATDE2.vmx를 더블 클릭 또는 VMware의 [file]-[Open]에서 압축을 해제한 폴더안의 ATDE2-20071018의 ATDE2.vmx를 선택해 주십시오.

ATDE.png
VMware로 ATDE2를 기동

  • ”이 가상 머신을 기동”으로 기동합니다.
  • 로그인 작업은 없고 ATDE2의 Desktop가 표시됩니다.

ATDE2 개발 환경의 정비

ATDE2는 이미 크로스 컴파일 환경이 갖추어지고 있습니다만, OpenRTM의 RT컴포넌트를 크로스 개발할 수 있는 환경으로 정리할 필요가 있습니다. 기동한 ATDE2상에서 이하의 소스와 셸 스크립트를 다운로드해 홈 디렉토리 이하의 적당한 작업 디렉토리에 넣어 둡니다.

    • config100.sh
      • 전개한 OpenRTM-0.4.2.tar.gz, 또는 OpenRTM-1.0.0.tar.gz 중에서 실행해, 크로스 컴파일에 필요한 옵션을 지정하고 configure를 실시할 수 있습니다.
      • OpenRTM-0.4.2 대응, OpenRTM-1.0.0 대응으로 나누었습니다.2010/01/21
    • arm-cross-install.sh
      • OpenRTM-1.0.0 대응이 되었습니다.2009/12/28
      • OpenRTM의 ARM 크로스 컴파일 환경을 Debian 호스트에게 구축합니다.
  • arm-cross-install.sh는 apt-get 커멘드로 deb 패키지를 다운로드합니다. deb 패키지를 두고 있는 URL를 sources.list에 추가합니다. su커멘드로 사용자를 root(패스워드:root)로 바꿔 /etc/apt/sources.list에 아래의 URL를 추가해 주세요.
     deb http://downloads.pylone.jp/cross-toolchain/deb ./
     deb http://www.openrtm.org/pub/Linux/debian/ etch main
  • root인 상태로 apt-get 커멘드로 패키지를 인스톨 합니다.
     # apt-get update
     # apt-get install python-yaml  (yes 또는 Y를 입력해 인스톨을 완료해 주세요.)
    • python-yaml 패키지는 OpenRTM의 인스톨 후, rtc-template에서 필요합니다.
  • arm-cross-install.sh로 OpenRTM-aist의 ARM 크로스 컴파일 환경을 구축합니다. 다수의 데이터가 다운로드되므로 적당한 작업 디렉토리를 작성해 그 중에 arm-cross-install.sh를 실행해 주십시오.
     # sh arm-cross-install.sh  (yes 또는 Y를 입력해 인스톨을 완료해 주세요.)
    • arm-cross-install.sh를 실행하는 것으로 OpenRTM-aist를 크로스 컴파일 하기 위해서 필요한 패키지군이 다운로드·인스톨 됩니다만, 그 부작용으로서 gdm등의 일부의 패키지가 삭제되어 버립니다. gdm가 삭제되면 그래피컬한 데스크탑 화면이 나오지 않게 되어 버리기 때문에, 되돌리고 싶은 경우는 이하와 같이 gdm를 재차 인스톨 다시 합니다.
       # apt-get install gdm   (yes 또는 Y를 입력해 인스톨을 완료해 주세요.)
       # /etc/init.d/gdm start
  • 이상으로 ATDE2 환경의 정비는 완료입니다.

OpenRTM-aist의 크로스 컴파일

OpenRTM-aist의 빌드

OpenRTM-aist-0.4.2의 소스 코드를 홈 디렉토리 등의 적당한 디렉토리에 압축을 해제해 주십시오. 압축해제 후, 작성된 디렉토리로 이동합니다.

 # tar zxvf OpenRTM-aist-0.4.2.tar.gz
 # cd OpenRTM-aist-0.4.2
통상, 여기서 configure를 실행합니다만 OpenRTM를 크로스 컴파일 하려면 configure에 적절한 옵션을 지정할 필요가 있습니다. 위에서 다운로드한 config.sh를 사용하면, 크로스 컴파일에 필요한 옵션을 지정해 configure를 실행할 수 있기 때문에, 여기에서는 config.sh를 사용합니다. config.sh를 현재의 디렉토리에 복사해 인스톨한 디렉토리를 인수로 지정해 실행합니다.
 # cp ../config.sh ./
 # sh config.sh /usr/arm-linux-gnu
config.sh가 정상적으로 종료한 것을 확인해 주세요. 빌드가 정상적으로 종료하면 make 합니다.
 # make
인스톨 하기 위해서는 적어도,
 OpenRTM-aist-0.4.2/rtm
 OpenRTM-aist-0.4.2/rtm/idl
 OpenRTM-aist-0.4.2/utils/rtm-config
 OpenRTM-aist-0.4.2/utils/rtm-naming
 OpenRTM-aist-0.4.2/utils/rtc-template
이하의 디렉토리가 정상적으로 빌드 되어 있을 필요가 있습니다. 빌드가 정상적으로 종료하면 헤더 파일, 라이브러리, 유틸리티 커멘드군을 인스톨 합니다.

OpenRTM-aist의 인스톨

config.sh로 지정한 /usr/arm-linux-gnu/에 인스톨 됩니다.
 # make install
/usr/arm-linux-gnu/share/examples/에 샘플 실행 파일이 생성되어 있습니다.

RT컴포넌트의 크로스 개발

이상으로, RT컴포넌트를 크로스 개발하는 환경이 갖추어졌습니다. 여기에서는 예로서 샘플에 포함되는 SeqOutComp의 소스를 사용해 크로스 컴파일 해 보겠습니다.

RT컴포넌트의 크로스 개발

  • RT컴포넌트를 크로스 개발하려면, 크로스 개발용의 커멘드를 사용할 필요가 있으므로, 이하와 같이(/usr/arm-linux-gnu/bin) 패스를 설정합니다. 패스를 설정할 때에, /usr/arm-linux-gnu/bin가 PATH의 선두가 되도록 주의해 주십시오.
     > export PATH=/usr/arm-linux-gnu/bin:$PATH

rtc-template로 SimpleIO의 RT컴포넌트를 생성한다.

샘플을 작성하기 위해 적당한 디렉토리를 작성해, 거기에 OpenRTM의 샘플 SeqOut의 소스에 포함되는 이하의 파일을 복사해 주십시오.

 SeqOutComp.cpp        SeqOut.h    SeqOut.cpp    Makefile.SeqOut

 > mkdir test
 > cp (인스톨 디렉토리)/OpenRTM-aist-0.4.2/examples/SeqIO/SeqOutComp.cpp ./test/
 (상기의 커멘드로 모두 복사해 주십시오.)

OutPort가 여덟 개 있는 SeqOutComp 컴포넌트를 생성합니다.

RT컴포넌트의 빌드

생성된, Makefile.SeqOut의 내용을 확인해 주십시오.CXX=로 시작되는 행이 없는 경우, 컴파일러에 크로스용의 컴파일러를 이하와 같이 지정할 필요가 있습니다.

 환경 변수를 설정해 make

 > CXX=arm-linux-gnu-g++ make -f Makefile.SeqOut
 또는,
 > export CXX=arm-linux-gnu-g++
 > make -f Makefile.SeqOut

make가 정상적으로 완료되면, SeqOutComp의 실행 파일이 생성됩니다.

RT컴포넌트의 실행

크로스 개발한 실행 파일, 라이브러리 등을 USB 메모리에 복사해, Armadillo240상에서 기동합니다.

USB 플래쉬 메모리의 준비

Armadillo240상에서 RT컴포넌트를 실행하는데 필요한 파일을 USB 메모리에 복사·생성합니다.

실행 파일
Armadillo240상에서 실행하고 싶은 RT컴포넌트의 실행 파일.

이 예에서는, 방금전 크로스 컴파일 한 SeqOutComp를 사용합니다. SeqOutComp를 USB 메모리의 적당한 장소(루트 디렉토리 등)에 복사합니다.

라이브러리
ATDE2의/usr/arm-linux-gnu/lib 이하에는 ARM용의 라이브러리가 저장되어 있습니다.

이 디렉토리내의 라이브러리 가운데, 이하의 것을 USB 메모리에 복사합니다.  USB 플래쉬 메모리에 라이브러리를 두는 디렉토리 lib를 작성합니다.

 >mkdir lib
 또는,
 GUI의 경우, 오른쪽 마우스 버튼 클릭으로 폴더를 작성합니다

/usr/arm-linux-gnu/lib의 라이브러리를 복사할 때에, 이하와 같이 이름을 변경해 주십시오.

  • OpenRTM-aist-0.4.2의 경우
    • 라이브러리명 변경  복사할 때에 이하와 같이 이름을 변경해 주십시오.
라이브러리명 라이브러리명 변경 후
libomniDynamic4.so.0.6 libomniDynamic4.so.0
libomniORB4.so.0.6 libomniORB4.so.0
libomnithread.so.3.1 libomnithread.so.3
libRTC-0.4.2.so.0.0.4 libRTC-0.4.2.so.0
librt.so.1 librt.so.1(변경 없음)
libACE.so.5.4.7 libACE.so.5.4.7(변경 없음)
  • OpenRTM-aist-1.0.0의 경우
    • 라이브러리명 변경
라이브러리명 라이브러리명 변경 후
libm-2.3.6.so libm.so.6
libomiDynamic4.so.0.6 libomniDynamic4.so.0
libomnithread.so.3.1 libomnithread.so.3
librt.so.1 librt.so.1(변경 없음)
libRTC-1.0.0.so.0.0.4 libRTC-1.0.0.so.0
libstdc++.so.6.0.8 libstdc++.so.6
libuuid.so.1.2 libuuid.so.1
rtc.conf
이하와 같은 rtc.conf를 텍스트 문자 편집기 등을 사용해 작성해 주십시오.

Armadillo상에서는 네임서버를 기동하지 않으므로 다른 PC상에서 네임서버를 기동해 주십시오. rtc.conf의 corba.nameservers의 옵션에는 그 네임서버를 기동한 PC의 주소를 지정합니다.

 corba.nameservers: 192.168.100.1 (자신의 네임서버 IP주소를 입력)
 naming.formats: %n.rtc

※ ATDE2로의 USB 메모리의 마운트
VMware(ATDE2)를 기동중에 PC에 USB 플래쉬 메모리를 넣으면 자동으로 마운트되어 Desktop상에서 확인할 수 있습니다.

자동으로 마운트되지 않을 때는 VMware(ATDE2)의 단말에서 su커멘드로 유저를 root로 변경하여 mount를 다시 합니다.

  • USB 메모리의 마운트
     > su
     # mkdir /mnt/(적당한 디렉토리)
     # mount -t vfat /dev/sdb1 /mnt/(위에서 작성한 디렉토리)
  • USB 메모리의 언마운트
      Desktop상에 USB 메모리의 아이콘이 표시되고 있을 때는 마우스 오른쪽 버튼 클릭>언마운트 해주십시오.
      또는, 콘솔로부터 커멘드로 언마운트 할 수 있습니다.
     # umount /mnt/(위에서 작성한 디렉토리)

USB 플래쉬 메모리의 디렉토리 구조

USB 플래쉬 메모리의 준비를 끝내면, USB 메모리는 아래와 같은 디렉토리 구조가 됩니다.

  • OpenRTM-aist-0.4.2

  USB 메모리 -+- lib --+- libomniDynamic4.so.0
                |     +- libomniORB4.so.0
                |     +- libomnithread.so.3
                |     +- libRTC-0.4.2.so.0
                |     +- librt.so.1
                |     +- libACE.so.5.4.7
               |
               +- SeqOutComp 
               |
               +- rtc.conf

  • OpenRTM-aist-1.0.0

  USB 메모리 -+- lib --+- libm.so.6
                |     +- libomniDynamic4.so.0
                |     +- ibomnithread.so.3
                |     +- librt.so.1
                |     +- libRTC-1.0.0.so.0
                |     +- libstdc++.so.6
                |     +- libuuid.so.1
               |
               +- SeqOutComp 
               |
               +- rtc.conf

Armadillo240로 실행 파일을 기동

USB 메모리의 마운트 설정, 라이브러리 PATH의 설정을 변경해 실행 파일을 기동합니다. PC와 Armadillo를 시리얼 케이블로 접속해 Armadillo상의 Linux의 시리얼 콘솔로부터 로그인하는 것으로 Armadillo상의 Linux를 조작할 수 있습니다. 이하의 하기 쉬운 방법으로 진행해 주십시오.

ATDE2상으로부터 minicom로 조작

ATDE2상으로부터 단말에뮬레이터의 프로그램minicom로 조작합니다. PC의 시리얼 포트와 Armadillo의 시리얼 포트를 시리얼 케이블로 접속해 주십시오. 시리얼 포트가 없는 PC의 경우는 USB 시리얼 변환 케이블 등을 사용할 필요가 있습니다. Armadillo의 시리얼 케이블의 접속 방법에 관해서는, Armadillo의 메뉴얼을 참조해 주십시오.

※VMware의 가상 머신의 디바이스의 설정을 이하와 같이 해 주십시오.

 도구모음>VM>설정>하드웨어 태그
  (VMwareWorkstation와 VMwareConsole로 설정할 수 있습니다.)
VMwareUseSerialSetting.png
VMware의 USB 시리얼 포트 설정

접속의 체크를 확인해 주십시오.

VMwareComSeting.png
VMware의 시리얼 포트 설정

디바이스 스테이터스의 체크와 접속>물리 시리얼 포트를 사용으로 포트를 확인해 주십시오. ATDE2의 단말로부터, 단말에뮬레이터 minicom를 기동합니다.

 > minicom
enter를 누르면 Armadillo240의 login 화면이 됩니다. 이후는 공통의 조작으로 진행해 주십시오.

Windows로부터 단말에뮬레이터(teraterm)로 조작

Windows에서 TeraTerm 등의 단말에뮬레이터를 사용해 Armadillo의 시리얼 콘솔과 접속할 수도 있습니다. TeraTerm는 여기에서 무료로 다운로드할 수 있습니다. 이하의 설정으로 기동해 주십시오.

  • 도구모음>설정>시리얼 포트 설정>
    • 포트/임의
    • baud rate/115200
    • 데이터/8bit
    • 패리티/none
    • 스톱/1bit
    • flow 제어/none

상기의 설정으로 기동하면, Armadillo240의 로그인 화면이 표시됩니다. ※표시되지 않을 때는 Enter를 눌러주십시오. 이후는 공통의 조작으로 진행해 주십시오.

공통의 조작

USB 메모리를 Armadillo에 꼽아 주십시오. Armadillo의 로그인 화면에서 root(패스워드 :root)로 로그인해 주십시오. 디폴트의 mount는 옵션(umous=111)으로, 어느 유저도 실행을 할 수 없는 퍼미션 설정입니다.

한 번 언마운트 하고 나서, 기입·실행 가능한 -o rw옵션으로 재마운트 합니다.

 # umount /dev/sda1
 # mount -t vfat -o rw /dev/sda1 /home/www-data/storage/
라이브러리 패스를 설정하기 위해, 커멘드로 유저를 게스트로 변경해 USB 메모리로 이동합니다.
 # su guest
 > cd /home/www-data/storage
라이브러리의 패스를 설정합니다.(라이브러리가 놓여져 있는 디렉토리를 지정해 주십시오.)
 > export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/www-data/storage/
 > ./SeqOutComp (실행 파일이 실행되었습니다)
RT컴포넌트가 기동합니다.

※RtcLink로부터도 확인할 수 있습니다.

이 방법에서는 Armadillo의 기동을 할 때마다 설정을 수정하지 않으면 안됩니다. 다음의 장에서는, Armadillo의 기동 후 RT컴포넌트가 자동으로 기동하는 이미지 파일을 작성해 Armadillo에 다운로드합니다.

Armadillo240의 이미지 파일을 작성한다

지금까지 방법으로는 Armadillo의 기동 마다 단말 에뮬레이터로 설정을 변경할 필요가 있습니다. 여기에서는 AtmarkTechno,Inc로부터 제공되고 있는 atmark-dist를 사용해, Armadillo240의 기동 후 RT컴포넌트가 자동으로 기동하는 이미지 파일을 작성해 Armadillo에 다운로드합니다.

개발 환경의 정비

 RT컴포넌트를 크로스 컴파일 한 ATDE2의 환경을 그대로 사용합니다. ATDE2상에 이하의 항목을 다운로드해 주십시오.

Atmark-dist
Armadillo의 userland의 이미지 파일을 작성합니다.
    • 여기에서 무료로 다운로드 할 수 있습니다.
Linux 커널
Atmark-dist로 이미지 파일을 작성할 때 필요합니다.
    • 여기에서 무료로 다운로드 할 수 있습니다.(Armadillo240의 경우)
    • openrtm_new.patch, Atmark-dist(2009/03/18)의 ver 업에 수반해 patch 파일을 수정했습니다.(2010/02/12)

atmark-dist의 빌드와 설정

여기에서는 Armadillo의 userland의 이미지 파일을 작성합니다. 여기서 작성하는 이미지 파일을 사용하면, USB 메모리에 미리 인스톨 된 RT컴포넌트를 자동적으로 기동할 수 있게 됩니다.

RT컴포넌트의 기동의 구조

USB 메모리를 /home/openrtm/에 마운트해 Armadillo의 기동 후 /home/openrtm/boot.sh를 기동시킵니다. boot.sh는 USB 메모리내의 라이브러리 패스를 통해 실행 파일을 기동합니다.
  • OS의 설정
    • USB 메모리를 쓰기, 실행 가능하게 /home/openrtm/에 마운트한다.
    • USB 메모리마운트시에, USB 메모리 바로 밑의 boot.sh를 기동한다.
  • USB 플래쉬 메모리의 내용
    USB 메모리에 이하의 파일을 준비해 주십시오.
boot.sh
Armadillo240 기동 후, 기동하는 셸 스크립트입니다. USB 메모리의 바로 밑에 아래와 같은 boot.sh를 준비해 주십시오. 라이브러리 PATH를 통해, 실행 파일을 기동합니다.
    •  ※rtc.conf를 USB 메모리 바로 밑에 라이브러리를 lib디렉토리에 두었을 때의 설정입니다. USB 메모리의 디렉토리 구조에 따라 수정해 주십시오.

 #!bin/sh
 . /etc/default/openrtm.conf
 export LD_LIBRARY_PATH=$LIBPATH:/home/openrtm/lib/
 /home/openrtm/SeqOutComp(실행 파일명)  -f  /home/openrtm/rtc.conf

atmark-dist 빌드

ATDE2상에서, atmark-dist와 linux커널, openrtm.patch를 다운로드해 압축을 해제해 주십시오.

 > tar zxvf atmark-dist--20090318.tar.gz
 > tar zxvf linux-2.6.12.3-a9-15.tar.gz
압축을 해제한 atmark-dist의 디렉토리로 이동해, linux커널의 심볼릭 링크를 합니다.   ※링크 이름은 linux의 ver에 관계없이 ./linux-2.6.x로 해주십시오.
 > ln -s ../linux-2.6.12.3-a9-15 ./linux-2.6.x 
make config합니다. 이후의 질문에는 아래와 같이 입력해 주십시오.
 > make config
 Select the Vendor you wish to target  :Atmarktechno(입력)
 Select the Product you wish to target  :Armadillo-240.Recover(입력)
 Kernel is linux-2.6.x            :default(enter해도 OK)
 defined CONFIG_DEFAULTS_CROSSDEV_DEFAULT:none(enter해도 OK)
 Default all settings            :y(입력)
 Customize Kernel Settings          :n(enter해도 OK)
 Customize Vendor/User Settings       :n(enter해도 OK)
 Update Default Vendor Settings       :n(enter해도 OK, 종료)

openrtm.patch를 복사해 이하의 순서로 패치를 해주십시오.

 > cp openrtm.patch /atmark-dist-YYYYMMDD/vendor/AtmarkTechno/Armadillo-240.Recover/openrtm.patch
 > cd /atmark-dist-YYYYMMDD/vendor/AtmarkTechno/Armadillo-240.Recover/
 > patch -p1 <openrtm_new.patch
 (패치 종료) atmark-dist-YYYYMMDD디렉토리로 이동해, make dep all해주십시오.
 > cd ../../../
 > make dep all
make dep all중 이하와 같은 에러 메세지가 표시됩니다만, romfs는 정상적으로 생성됩니다.
 /bin/sh: extensions/.dccp-test: 허가가 없습니다
 /bin/sh: extensions/.layer7-test: 허가가 없습니다
 /bin/sh: extensions/.statistic-test: 허가가 없습니다
 make[2]: 디렉토리 `/home/atmark/Desktop/foratde/forkernel/atmark-dist-200807 17/user/iptables'에 들어갑니다
 romfs-inst.sh /bin/iptables
 romfs-inst.sh -l /bin/iptables /bin/iptables-save
 ln: `/bin/iptables'에 액세스중: 그런 파일이나 디렉토리는 없습니다
 romfs-inst.sh -l /bin/iptables /bin/iptables-restore
 ln: `/bin/iptables'에 액세스중: 그런 파일이나 디렉토리는 없습니다
make 종료후, images 디렉토리에 4개의 파일이 생성됩니다.
 > ls images
  linux.bin linux.bin.gz romfs.img romfs.img.gz
다음의 장에서 romfs.img.gz를 Armadillo에 씁니다.

이미지 파일을 Armadillo240에 다운로드한다

생성한 userland의 이미지 파일 romfs.img.gz를 Armadillo240에 다운로드합니다. Armadillo는 점퍼핀(2)을쇼트 해, 전원을 넣어 두어 주십시오(Armadillo하드웨어 메뉴얼 의 16P를 참고해주십시오)

VMware(ATDE2), Windows 어느 쪽에서에서도 다운로드할 수 있습니다.

ATDE2상으로부터 다운로드한다

여기 에서 VMware의 가상 머신의 디바이스 설정을 실시하고 나서 진행해 주십시오.

  • Armadillo-240와 PC를 USB 시리얼 케이블(또는 시리얼 케이블)로 연결합니다.
  • ATDE2의 단말 콘솔로부터 hermit로 images/romfs.img.gz를 다운로드합니다.
     > hermit download -i images/romfs.img.gz -r userland --port /dev/ttyUSB0 (또는, /dev/ttyS0) 
 다운로드는 8분 정도 걸립니다.
  • completed라고 표시되면 완료입니다. serial: completed 0x004455fd (4478461) bytes. (완료)
       

    Windows상에서 다운로드한다

Armadillo240의 본체와 함께 제공되고 있는 CD-ROM의 downloader>win32>Hermit.zip를 Widows상에 놓아주십시오.

  • Windows상에 Hermit.zip의 압축을 해제하고 Hermit.exe를 더블 클릭으로 기동합니다.
    hermit.png

    Windows상의 Hermit
  • Armadillo240를 PC 시리얼 포트로 접속해 주십시오.
  • ATDE2에 생성된 romfs.img.gz를 windows상으로 이동해 주십시오.
  • 표시된 다이얼로그로 시리얼 포트를 설정해, Download를 누릅니다. images로 작성한 romfs.img.gz를 Region으로 userland를 설정해 실행 버튼을 눌러 다운로드합니다.(8분 정도 걸립니다.)
  • 다운로드가 완료되면 Hermit에 표시됩니다.

RT컴포넌트의 실행·확인

RTCLink를 기동해 RT컴포넌트의 기동을 확인합니다.

  • 이미지 파일의 다운로드 완료 후, Armadillo의 점퍼핀(2)의 쇼트를 해제해, 재기동합니다.
  • RT컴포넌트를 실행할 때, rtc.conf로 지정한 네임서버를 기동합니다.
    • Windows의 경우
      • 프로그램 메뉴의 「OpenRTM-aist」→「example」→「NameService.bat」를 실행합니다.
      • 혹은, OpenRTM-aist\bin에 있는 rtm-naming.bat를 더블 클릭 해 기동합니다.
    • linux의 경우
      • su커멘드로 유저를 root로 변경하여 네임서버를 기동합니다.
         > su
         # /etc/init.d/omniorb4-nameserver start
  • RTCLink를 기동해 네임서버에 컴포넌트가 생성되어 있는 것을 확인해 주세요.
    • ※네임서버가 표시되어 있지 않을 때는 Connect Name Server 버튼을 눌러 네임서버를 추가 접속해 주십시오.

응용예

Armadillo + URG 센서

Armadillo와 호쿠요 전기 URG 센서와 조합해 분산 센서 시스템을 간단하게 구축하기 위한 유닛입니다. Armadillo상에서는 URG 센서 RT컴포넌트가 동작합니다.(Armadillo 전원을 켬과 동시에 RTC가 자동 기동합니다.) PoE (Power over Ether) 대응의 Armadillo를 사용하는 것으로 LAN 케이블만으로 통신 및 전원공급이 가능합니다. URG 센서도 PoE 로부터의 전원 공급으로 동작합니다. 케이블 1개만으로 센서 배치가 가능하므로, 분산 센서 시스템을 용이하게 구축할 수 있습니다.

Armadillo_URG.png
분산 LRF 유닛

Armadillo_URG3.png
PoE (Power over Ether) HUB에 의해 전원 공급이 가능