P. 1
Tutorial Instalasi TinyOS Embedded Linux Imote2

Tutorial Instalasi TinyOS Embedded Linux Imote2

|Views: 161|Likes:
Dipublikasikan oleh N Putra Sastra
Step by step installation for intel mote2 wireless sensor network based on TinyOS and Linux embedded system
Step by step installation for intel mote2 wireless sensor network based on TinyOS and Linux embedded system

More info:

Published by: N Putra Sastra on Oct 06, 2010
Hak Cipta:Attribution Share Alike

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/23/2014

pdf

text

Tutorial Instalasi TinyOS dan Embedded Linux pada Platform Wireless Sensor Network Intel mote2.

Oleh: N Putra Sastra

J urusan Teknik E lekto Univ ersitas Uday ana April - 201 0

Tutorial Instalasi TinyOS 2.1.0 untuk intel mote 2 pada Ubuntu 8.04/9.04/9.10
Operating System yang digunakan pada tutorial ini adalah Linux Ubuntu 9.10. Untuk instalasi pada linux distro berbeda, dapat disesuaikan dengan kebutuhan. Instalasi ini dibagi menjadi 2 tahap, yaitu, sebagai berikut:

1. Tahap Instalasi TinyOS dan Cross Compiler 2. Instalasi software untuk interfacfing imote2 dengan komputer Installing TinyOS 2.1.0 pada Ubuntu mengupdate TinyOS dengan 2.x dan 2.x-contrib pada Ubuntu Instalasi Cross Compile GCC untuk XScale pada Ubuntu (langkah ini diperlukan untuk IntelMote2 / iMote2) Instalasi driver untuk Olimex ARM-USB-TINY atau Amontec JTAG Instalasi OpenOCD

1. Instalasi TinyOS 2.1.0 pada Ubuntu
Updatelah repository, yaitu pada file /etc/apt/source.list tambahkan:

deb http://tinyos.stanford.edu/tinyos/dists/ubuntu hardy main

update repository:
#apt-get update

Lanjutkan dengan install tinyos dan python:

#apt-get install -y --force-yes tinyos-2.1.0 #apt-get install python-dev

Setup environment untuk Tinyos
#echo source /opt/tinyos-2.1.0/tinyos.sh" >> /etc/profile #echo -ne "\n #Set the envoronment variables for TinyOS \n" >> /etc/profile #echo export TOSROOT=/opt/tinyos-2.1.0 >> /etc/profile #echo export TOSDIR=/opt/tinyos-2.1.0/tos >> /etc/profile #echo export CLASSPATH=/opt/tinyos-2.1.0/support/sdk/java/tinyos.jar:. >> /etc/profile #echo export MAKERULES=/opt/tinyos-2.1.0/support/make/Makerules >> /etc/profile #echo export PATH=/opt/msp430/bin:$PATH >> /etc/profile

1

#echo export PYTHONPATH=.:$TOSROOT/support/sdk/python:$PYTHONPATH >> /etc/profile #echo export MOTECOM=serial@/dev/ttyUSB0:115200 >> /etc/profile (USB0 digunakan untuk program dan USB1 untuk berkomunikasi) #export INTELMOTE2_CONTRIB_DIR=/opt/tinyos-2.x-contrib/intelmote2

2. Instalasi TinyOS 2.1.0 pada Ubuntu
ORG_DIR=`pwd`

# apt-get update # apt-get install -y --force-yes cvs # touch ~/.cvspass # cd /opt # cvs -z3 -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos co -P tinyos-2.x # cvs -z3 -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos co -P tinyos-2.x-contrib # echo export TOSROOT=/opt/tinyos-2.x >> /etc/profile # echo export TOSDIR=/opt/tinyos-2.x/tos >> /etc/profile # echo export CLASSPATH=/opt/tinyos-2.x/support/sdk/java/tinyos.jar:. >> /etc/profile # echo export MAKERULES=/opt/tinyos-2.x/support/make/Makerules >> /etc/profile # echo export PATH=/opt/msp430/bin:$PATH>> /etc/profile # echo export PYTHONPATH=.:$TOSROOT/support/sdk/python:$PYTHONPATH >> /etc/profile # echo export MOTECOM=serial@/dev/ttyUSB0:115200 >> /etc/profile # in my case USB0 is used to # program and USB1 to communicate # echo export INTELMOTE2_CONTRIB_DIR=/opt/tinyos-2.x-contrib/intelmote2 >> /etc/profile # source /etc/profile

3. Instalasi Cross Compiler untuk imote2
Download dan Install compiler gcc dan cpp
wget http://ge.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/cpp-3.4_3.4.68ubuntu2_i386.deb # wget http://ge.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4_3.4.68ubuntu2_i386.deb # wget http://ge.archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/gcc-3.4base_3.4.6-8ubuntu2_i386.de
#

# dpkg -i gcc-3.4-base_3.4.6-8ubuntu2_i386.deb # dpkg -i gcc-3.4_3.4.6-8ubuntu2_i386.deb # dpkg -i cpp-3.4_3.4.6-8ubuntu2_i386.deb

2

# rm /usr/bin/gcc # ln -s /usr/bin/gcc-3.4 /usr/bin/gcc # apt-get install -y --assume-yes build-essential texinfo # wget http://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2 # wget ftp://ftp.gnu.org/gnu/gcc/gcc-3.4.4/gcc-3.4.4.tar.bz2 # wget ftp://sources.redhat.com/pub/newlib/newlib-1.17.0.tar.gz # bunzip2 binutils-2.19.tar.bz2 && tar -xvf binutils-2.19.tar # bunzip2 gcc-3.4.4.bz2 && tar -xvf gcc-3.4.4.tar # gunzip newlib-1.17.0.tar.gz && tar -xvf newlib-1.17.0.tar

Export path compiler:
# export TARGET=xscale-elf # export PREFIX=/usr/local # export PATH=${PREFIX}/bin:${PATH}

Buat Direktori

# mkdir build-binutils # mkdir build-gcc # mkdir build-newlib

Dilanjutkan dengan mengcompile dan menginstall paket-paket tersebut:
cd build-binutils # ../binutils-2.19/configure --target=$TARGET --prefix=$PREFIX # make && make install
#

# cd ../build-gcc && ../gcc-3.4.4/configure --target=$TARGET --prefix=$PREFIX --with-newlib --withoutheaders --with-gnu-as --with-gnu-ld --disable-shared --enable-languages=c && make && make install # cd ../build-newlib && ../newlib-1.17.0/configure --target=$TARGET --prefix=$PREFIX && make && sudo make install # cd .. && sudo rm -rf ./build-gcc/* && cd ./build-gcc && ../gcc-3.4.4/configure --target=$TARGET --prefix=$PREFIX --with-newlib --withoutheaders --with-gnu-as --with-gnu-ld --disable-shared --enable-languages=c && make && sudo make all install

3

4. Flashing intel mote2 menggunakan kabel JTAG Amontec
Apabila langkah 1 sampai 3 tidak error, maka tinyos dan cross compiler untuk intelmote2 sudah terinstall. Untuk menuliskan aplikasi yang telah kita compile pada tinyos di intelmote2 diperlukan : 1. Interface antara computer dan interface board imote2, salah satu metode yang digunakan adalah menggunakan kabel JTAG (http://www.amontec.com/ ) atau AMR-USB-TINY JTAG cable. 2. Software untuk flashing. Sebagai contoh disini digunakan OPENOCD (open source software) Install driver interface ftdi Pada linux shell:
# apt-get update && apt-get install libusb-dev libftdi1 libftdi-dev && ldconfig

Download dan install software untuk flashing, yaitu openocd:
# wget http://downloads.sourceforge.net/project/openocd/openocd/0.4.0-rc1/openocd0.4.0-rc1.tar.bz2 && bunzip2 openocd-0.4.0-rc1.tar.bz2 && tar -xvf openocd-0.4.0-rc1.tar && cd openocd-0.4.0-rc1 && ./configure --enable-ft2232_libftdi && make && make install && chmod 4755 /usr/local/bin/openocd && cd /opt/tinyos-2.x/tools/platforms/intelmote2/openocd/ && mv imote2-ocd-program.py imote2-ocd-program_old.py && wget http://www.cs.columbia.edu/~msz/wsn/scripts/imote2-ocd-program.py && chmod +x imote2-ocd-program.py && cd /opt/tinyos-2.x-contrib/intelmote2/tools/platforms/intelmote2/openocd/ && mv imote2-ocd-program.py imote2-ocd-program_old.py #wget http://www.cs.columbia.edu/~msz/wsn/scripts/imote2-ocd-program.py && chmod +x imote2-ocd-program.py && echo && echo "If you use ARM-USB-TINY JTAG cable the following should work:" && echo "1. Plug in the JTAG cable and usb cable and run" && echo "2. openocd -f interface/olimex-jtag-tiny.cfg -f board/crossbow_tech_imote2.cfg"

Setelah tool-tool tersebut diinstalasi, maka akan dicoba untuk mengkompilasi sebuah program dan mengupload program hasil kompilasi tersebut dari komputer ke intelmote2 board. Program yang akan kita coba disini adalah program Blink yang bertujuan menyalakan led pada intelmote2 dan dalam tiap waktu tertentu berubah warnanya dari hijau, menjadi kuning, dan merah secara bergantian. Pada shell linux, masuk ke folder:

4

# cd /opt/tinyos-2.x-contrib/intelmote2/apps/Blink

kemudian jalan perintah:
/opt/tinyos-2.x-contrib/intelmote2/apps/Blink$ c

yang bertujuan untuk mengkompilasi program Blink dalam lingkungan intelmote2. Dari perintah tersebut akan muncul proses kompilasi sebagai berikut:
/opt/tinyos-2.x-contrib/intelmote2/support/make/intelmote2.extra:41: warning: overriding commands for target `bytes' /opt/tinyos-2.x/support/make/pxa27x/pxa27x.rules:102: warning: ignoring old commands for target `bytes' mkdir -p build/intelmote2 echo -mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1 /opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/mmu_table.s -o build/intelmote2/asms.o -mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1 /opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/mmu_table.s -o build/intelmote2/asms.o compiling BlinkAppC to a intelmote2 binary ncc -o build/intelmote2/main.exe -Os -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/chips/da9030 -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2 -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x -I/opt/tinyos-2.xcontrib/intelmote2/tos/sensorboards/im2cb -I/opt/tinyos-2.xcontrib/intelmote2/tos/sensorboards/xbow_cb -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/chips/da9030 -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2 -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/ov7649 -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/ov7670 -Wall -Wshadow -Wnesc-all -target=intelmote2 fnesc-cfile=build/intelmote2/app.c -board= -DDEFINED_TOS_AM_GROUP=0x22 -DBOOTLOADER -T/opt/tinyos-2.x-contrib/intelmote2/tos/platforms/intelmote2/tos.x DSYSTEM_CORE_FREQUENCY=13 -DSYSTEM_BUS_FREQUENCY=13 BlinkAppC.nc -lm /opt/tinyos2.x-contrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/mmu_table.s /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s: Assembler messages:

5

/opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s:184: Warning: s suffix on comparison instruction is deprecated /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s:201: Warning: s suffix on comparison instruction is deprecated compiled BlinkAppC 33372 bytes 230 bytes 9216 bytes 252698 bytes to build/intelmote2/main.exe in ROM in RAM in STACK available in HEAP

Apabila tidak ada pesan error maka installasi cross compiler sudah bener. Langkah selanjutnya adalah mengupload program ke intelmote2: Hal yang diperlukan: 1. Intelmote2 radio board 2. Intemote2 interface board 3. Kabel Jtag. Pada percobaan kali ini digunakan jtag kabel produk amontec (http://www.amontec.com) 4. 2 Buah kabel mini USB. Kabel pertama dipasang dari komputer ke JTAG kabel yang telah dipasang pada interface board. Sedangkan kabel ke-2 digunakan komunikasi antara intelmote2 radio board dengan komputer. Untuk test apakah instalasi openocd dan driver jtag benar, cobalah konektivitasnya dengan syntax:
# openocd -f /lokasi/file/configuration -f /lokasi/file/configuration-intelmote

pada test ini, karena menggunakan jtag amontec maka configuration filenya adalah: jtagkey.cfg, sehingga syntax menjadi:
# openocd -f /usr/local/share/openocd/scripts/interface/jtagkey.cfg -f board/crossbow_tech_imote2.cfg

Apabila muncul:
Open On-Chip Debugger 0.4.0-rc1 (2010-04-16-20:58) For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html jtag_nsrst_delay: 260 jtag_ntrst_delay: 250 Info : imote2.cpu: hardware has 2 breakpoints and 2 watchpoints jtag_nsrst_delay: 800 trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain Info : clock speed 6000 kHz Info : JTAG tap: imote2.cpu tap/device found: 0x79265013 (mfg: 0x009, part: 0x9265, ver: 0x7)

6

Ini berarti jtag dengan board intelmote2 telah dideteksi oleh komputer. Selanjutnya bukalah shell lain dan telnet ke:
#telnet localhost 4444 apabila terlihat :
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger >

maka kita sudah siap mengupload file ke intelmote2 Untuk mengcompile dan langsung mengupload file Blink, masuklah ke direktory Blink:
#cd /opt/tinyos-2.x-contrib/intelmote2/apps/Blink #make intelmote2 install openocd

syntax ini akan menjalankan script: /opt/tinyos-2.x/tools/platforms/intelmote2/openocd/imote2-ocdprogram.py. Ubahlah script tersebut dengan mengganti salah satu barisnya yang bertujuan memanggil konfigurasi jtag kabel board-nya, menjadi:
openocd_cmd = "openocd -f interface/jtagkey.cfg -f board/crossbow_tech_imote2.cfg".split()

Akan muncul:
echo -mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1 /opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/mmu_table.s -o build/intelmote2/asms.o -mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1 /opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/mmu_table.s -o build/intelmote2/asms.o compiling BlinkAppC to a intelmote2 binary ncc -o build/intelmote2/main.exe -Os -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/chips/da9030 -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2 -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x -I/opt/tinyos-2.xcontrib/intelmote2/tos/sensorboards/im2cb -I/opt/tinyos-2.xcontrib/intelmote2/tos/sensorboards/xbow_cb -I/opt/tinyos-2.xcontrib/intelmote2/tos/platforms/intelmote2/chips/da9030 -I/opt/tinyos-2.x-

7

contrib/intelmote2/tos/platforms/intelmote2 -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/ov7649 -I/opt/tinyos-2.xcontrib/intelmote2/tos/chips/ov7670 -Wall -Wshadow -Wnesc-all -target=intelmote2 fnesc-cfile=build/intelmote2/app.c -board= -DDEFINED_TOS_AM_GROUP=0x22 -DBOOTLOADER -T/opt/tinyos-2.x-contrib/intelmote2/tos/platforms/intelmote2/tos.x DSYSTEM_CORE_FREQUENCY=13 -DSYSTEM_BUS_FREQUENCY=13 BlinkAppC.nc -lm /opt/tinyos2.x-contrib/intelmote2/tos/platforms/intelmote2/toscrt0.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s /opt/tinyos-2.xcontrib/intelmote2/tos/chips/pxa27x/mmu_table.s /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s: Assembler messages: /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s:184: Warning: s suffix on comparison instruction is deprecated /opt/tinyos-2.x-contrib/intelmote2/tos/chips/pxa27x/pxa27x_util.s:201: Warning: s suffix on comparison instruction is deprecated compiled BlinkAppC to build/intelmote2/main.exe 33372 bytes in ROM 230 bytes in RAM 9216 bytes in STACK 252698 bytes available in HEAP xscale-elf-objcopy --output-target=binary build/intelmote2/main.exe build/intelmote2/main.bin.out installing intelmote2 binary using imote2-ocd-program.py /opt/tinyos-2.x/tools/platforms/intelmote2/openocd/imote2-ocd-program.py build/intelmote2/main.bin.out Programming imote2 with binary: build/intelmote2/main.bin.out Starting OpenOCD... Connecting to OpenOCD... Halting device... Erasing flash... Writing image... Resuming device... Doing cleanup...

Proses upload file telah selesai dan led pada intelmote2 akan menyala Blink merah, hijau dan biru.

8

Tutorial Instalasi Linux embedded system pada imote2 board
Selain dikembangkan pada platform tinyOS, imote2 juga dikembangkan oleh komunitas openembbed pada platforn linux. Langkah-langkah yg perlu dilakukan adalah sebagai berikut:

1. Sistem Operasi computer, yang digunakan pada tutorial ini adalah linux ubuntu versi 9.04 dan 9.10 2. Mempersiapkan linux versi imote2 yang berupa: linux kernel. Linux file system, dan 3. Mempersiapkan perangkat untuk flashing linux kernel, file system, dan blob, yaitu kabel JTAG dan drivernya.

4. Flashing imote 5. Mengkoneksikan imote2 dengan computer host menggunakan usbnet.

I.

Linux Ubuntu sebagai host.
Persiapkan linux host sehingga dapat terkoneksi ke internet karena beberapa tools perlu diinstall secara online. Persiapkan terlebih dahulu beberapa tools download seperti: wget dan git. Apabila belum ada, cara instalasinya adalah sebagai berikut: Misalkan belum ada wget:
# apt-get install wget

II.

Linux versi imote2 yang berupa: linux kernel. Linux file system, bootloader
Pada tahap ini, ada 2 cara, yaitu mengkompile kernel, file system, dan bootloader sendiri, sehingga mendapatkan kernel linux dengan modul terbarunya atau mendownload file-file yang telah dikompile oleh pengembang open source ini pada situs sourceforge.net. Yang perlu diperhatikan disini, untuk imote2 diperlukan tiga file, yaitu: blob-im2 (bootloader), zImage (image kernel), dan linux.jffs2 (file system). Untuk cara pertama pada situs sourceforge.net telah disiapkan ketiga file itu pada kernel 2.6.29.1. Cara mendownloadnya bukalah halaman:http://sourceforge.net/projects/imote2-linux/files/, dan download ketiga file tersebut.

9

Cara kedua: Langkah 1: Compile kernel baru untuk imote2 Download source kernel, misalnya akan digunakan kernel 2.6.30, lakukan hal sbb terminal linux:

# git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux2.6.30.y.git

untuk memastikan anda pada source yang benar, lakukan hal ini:
#git checkout -r origin/master

Set up variable environment untuk compile kernel
#export ARCH=arm #export CROSS_COMPILE=/opt/arm-linux- (sesuai dengan lokasi cross compile)

Copylah defconfig kernel linux untuk imote2:
#cp imote2-linux_defconfig ./arch/arm/configs #make imote2-linux_defconfig

Selanjutnya, compile kernel:
#make zImage #make modules #make INSTALL_MOD_PATH=$PWD/modules

modules_install

Langkah kedua: Membuat root file system Install terlebih dahulu * mkfs.jffs dengan menjalankan ‘apt-get’ Untuk mendapatkan prebuild root file system, dapat di download di: http://sourceforge.net/projects/imote2-linux/files/imote2-rootfs/ ( > 16M) http://sourceforge.net/projects/platformx/files/Stargate2/ (<16M) selanjutnya extract rootfs yang tersebut dan patchlah file konfigurasi pada /etc dan add/remove arm binaries untuk mendapatkan image yang berisi sesuai dengan kebutuhan. Sistem yang ada sekarang menggunakan libc-2.3.3, sehingga seluruh library ARM dan executable files harus decompile menggunakan libc-2.3.3. Apabila rootfs yang ingin ukurannya kecil, maka gunakanlah package 16MB dengan command sbb:

10

# Make 16MB file system mkfs.jffs2 --squash-uid -r ./linux-rootfs-small -o rootfs-small.jffs2 -e 0x20000 -pad=0x01000000

Apabila lebih besar, maka dapat digunakan sbb:
# Make 32MB (29.75MB) file system mkfs.jffs2 --squash-uid -r ./linux-rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x01DC

-

III.

Perangkat lunak dan perangkat keras flashing

Yang diperlukan disini adalah Kabel JTAG dan perangkat lunak sebagai aplikasi interface antara computer dengan imote2. Pada tutorial ini digunakan openocd for linux yang dapat di download pada http://downloads.sourceforge.net/project/openocd/openocd/. Sedangkan untuk Kabel JTAG, digunakan produk dari http://www.amontec.com. Untuk instalasi openocd, pada linux host bukalah terminal box, dan download serta installah openocd dengan langkah sebagai berikut.
# wget http://downloads.sourceforge.net/project/openocd/openocd/0.4.0-rc1/openocd0.4.0-rc1.tar.bz2 && bunzip2 openocd-0.4.0-rc1.tar.bz2 && tar -xvf openocd-0.4.0-rc1.tar && cd openocd-0.4.0-rc1 && ./configure --enable-ft2232_libftdi && make && make install && chmod 4755 /usr/local/bin/openocd

Untuk test apakah instalasi openocd dan driver jtag benar, diperlukan persiapkan sebagai berikut:
1. Intelmote2 radio board 2. Intemote2 interface board 3. Kabel Jtag. Pada percobaan kali ini digunakan jtag kabel produk amontec (http://www.amontec.com) 4. 2 Buah kabel mini USB. Kabel pertama dipasang dari komputer ke JTAG kabel yang telah dipasang pada interface board. Sedangkan kabel ke-2 digunakan komunikasi antara intelmote2 radio board dengan komputer.

11

Jtag cable amontec Imote2 radio board Imote2 battery Imote2 interface board

board

cobalah konektivitasnya dengan syntax:
# openocd -f /lokasi/file/configuration -f /lokasi/file/configuration-intelmote

pada test ini, karena menggunakan jtag amontec maka configuration filenya adalah: jtagkey.cfg, sehingga syntax menjadi: # openocd -f /usr/local/share/openocd/scripts/interface/jtagkey.cfg -f board/crossbow_tech_imote2.cfg Apabila muncul:
Open On-Chip Debugger 0.4.0-rc1 (2010-04-16-20:58) For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html jtag_nsrst_delay: 260 jtag_ntrst_delay: 250 Info : imote2.cpu: hardware has 2 breakpoints and 2 watchpoints jtag_nsrst_delay: 800 trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain Info : clock speed 6000 kHz Info : JTAG tap: imote2.cpu tap/device found: 0x79265013 (mfg: 0x009, part: 0x9265, ver: 0x7)

Ini berarti jtag dengan board intelmote2 telah dideteksi oleh komputer. Selanjutnya bukalah shell lain dan telnet ke:
#telnet localhost 4444

apabila terlihat :
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger >

12

IV.

Flashing Imote2
Apabila koneksi openocd telah berhasil, maka langkah-langkah flashing ketiga file yang telah dibuat (blob-im2, zImage, dan jffs.root) tersebut adalah sebagai berikut.

Pada terminal telnet ke local host 4444 ketik sebagai berikut:
In this telnet window reset the imote2 to a halted state.
reset halt

unprotect flash.
flash protect 0 0 258 off

dan hapus
flash erase_sector 0 0 258

Selanjutnya file siap diupload:
flash write_image blob-im2 flash write_image 2.6.29.1_im2-rc2.zImage 0x00040000 bin flash write_image 2.6.29.1_im2-rc2-linux.jffs2 0x00240000 bin

Selain flashing ketiga file tersebut, dapat juga dilakukan flashing untuk masing-masing file, sbb: Blob
flash protect 0 0 4 off flash erase_sector 0 0 4 flash write_image blob-im2 0

Kernel
flash protect 0 5 20 off flash erase_sector 0 5 20 flash write_image zImage 0x40000

Filesystem
flash protect 0 21 258 off flash erase_sector 0 21 258 flash write_image whatever.jffs2 0x240000

Untuk mencoba OS pada imote2 yang telah diupload, lepaskan debugger dan unplug dilanjutkan restart perangkat imote2 .
Kemudian pada koneksi usb untuk telnet lakukanlah koneksi serial terminal dengan setting sebagai berikut: Serial line: TTYUSB0 (atau USB1) Speed: 115400

13

Data bit: 8 Stop bit: 1 Parity: none Flow control: XON/OFF

V.

Mengkoneksikan imote2 dengan computer host menggunakan usbnet.
Sebelum memulai Koneksikan imote2 pada linux host menggunakan USB. Pastikan terkoneksi ke USB imote2 board (bukan pada JTAG board) Imote interface board dan mini cable juga diperlukan untuk mengconfigure imote2 melalui console (seperti pada langkah 5) Pada contoh ini digunakan konfigurasi jaringan sebagai berikut: Linux host mempunyai ip: 192.168.99.100/24 dan imote2: 192.168.99.101/24. Untuk itu diperlukan konfigurasi kedua host ini (computer dan imote2 machine) Linux Host Machine Konfigurasilah pada host linux sbb: ifconfig usb0 192.168.99.100 netmask 255.255.255.0 up iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface usb0 -j ACCEPT echo 1 >> /proc/sys/net/ipv4/ip_forward

Tambahkan script ini pada "/etc/network/interfaces":
auto usb0 iface usb0 inet static address 192.168.99.100 netmask 255.255.255.0

sehingga konfigurasi network ini akan selalu up apabia imote2 dikoneksikan ke komputer

14

imote2 Pada perangkat imote2, melalui koneksi console seperti langkah ke-5 lakukan perintah ini::
ifconfig usb0 192.168.99.101 netmask 255.255.255.0 up route add default gw 192.168.99.100

Selanjutnya koneksi akan terbentuk, sebagai contoh,
ssh 192.168.99.101 -l root

VI.

Daftar Pustaka:
[1] http://www.xbow.com/ [2] http://www.openembbed.com/ [3] http://sourceforge.net/apps/mediawiki/imote2-linux/

[4] milist: intel-mote2-community at group.yahoo.com

15

LAMPIRAN

Flashing pada Radio Board imote2, menggunakan amontec kabel JTAG dan interface board imote2

Radio board Imote 2 (tampak depan)

16

Multmedia board Sensorboard IMB400 (tampak depan)

Agar driver imb400 dapat berjalan pada imote2 perlu ditambahkan resistor pull-up sebesar 1k8 (pada foto di atas digunakan resistor 1K, ternyata belum mampu mendrive camera imb400). Satu kaki Resistor disolder pada VCC atau pada C14 (pada foto di atas terjadi kesalahan pemasangan, dipasang pada C10), kaki yang lain dipasang pada R8.

17

Contoh hasil capture image menggunakan perangkat intel mote2 ukuran file 640 x 480 (menggunakan resolusi maksimum dari kamera ov7670 format file ppm yang merupakan raw bit image

18

19

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->