• Tidak ada hasil yang ditemukan

MEMBUAT PLATFORM BARU PADA TINYOS

N/A
N/A
Protected

Academic year: 2018

Membagikan "MEMBUAT PLATFORM BARU PADA TINYOS"

Copied!
7
0
0

Teks penuh

(1)

MEMBUAT PLATFORM BARU PADA TINYOS

1. Struktur kerja dan Arsitektur TinyOS

Struktur kerja dari TinyOS dapat digambarkan sebagai berikut

.Sedangkan, Arsitektur TinyOS dibagi menjadi 3 komponen, yaitu :

 Hardware Independent Layer (HIL)

 Hardware Adaptation Layer (HAL)

 Hardware Presentation Layer (HPL)

Sebuah platform dibangun dari bawah ke atas, dimulai dari HPL level, kemudian HAL dan HIL layer diatasnya. Platform independent application dibuat menggunakan interface level HIL, yang memungkinkan untuk berpindah dengan mudah dari platform ke platform.

2. Platform TinyOS

(2)

Danis Prabandana 12/331439/PA/14693

Platform fisik umumnya terdiri dari kumpulan chip-chip. Begitu juga platform pada TinyOS yang merupakan kumpulan komponen yang merepresentasikan chip-chip tersebut. Chip-chip tersebut dapat digunakan bersama-sama oleh banyak platform dan mengimplementasikan platform baru dapat dilakukan dengan mengubah wiring komponen yang ada.

3. Platform baru TinyOS

Tool chain pada TinyOS akan menemukan platform yang bersangkutan pada waktu kompilasi dan platform baru yang diletakkan pada jalur pencarian akan ditemukan secara otomatis. Mendefinisikan sebuah platform baru dibagi menjadi 3 hal :

1. Definisi chip yang menyusun platform.

2. Definisi platform ( mengkombinasikan chip pada sebuah platform) 3. Tool chain atau membuat definisi

Untuk saat ini kita akan menggunakan istilah PlatformX dan MCUX untuk menyebut platform dan MCU yang akan dibuat.

Definisi dari PlatformX berlokasi di tos/platforms/platformX dan berisi 3 elemen utama:

a. .platform file yang berisi path-path yang digunakan pada “include” dan argumen lainnya untuk nesC

b. Prosedur boot platform : PlatformP/PlatformC

c. Kode-kode spesifik milik platform, termasuk header untuk fungsi-fungsi spesifik hardware (hardware.h) dan kode yang menspesifikasi kombinasi dari chip dan platform.

(3)

4. Menambah Platform baru pada TinyOS

Pembuatan aplikasi pada TinyOS menggunakan GNU Make sehingga bisa dikompilasi menjadi satu file c untuk dikompilasi oleh GNU GCC. Sehingga dalam penambahan platform TinyOS perlu mengikuti mekanisme GNU Make. Hal-hal yang perlu didefinisikan dalam penambahan platform antara lain :

 File .platform yang berisi alamat direktori file nesC penunjang platform beserta argumennya

 Definisi prosedur boot platform, PlatformP/PlatformC

 Kode-kode spesifik platform (nesC) yang berisi kombinasi chip, termasuk penggunaan pin, modifikasi, dll. Tidak luput juga pendefinisian fungsi-fungsi spesifik platform pada hardware.h

4.1 .platform file

Setiap direktori platform harus memiliki file .platform didalamnya. File ini berisi instruksi untuk sistem make dimana harus mencari lokasi driver dari tiap komponen dari platform.Definisi-definisi tersebut dibaca dalam dua langkah proses : file dibaca oleh script ncc yang melewatkan argument ke nesC pre-prosesor. .platform file ditulis sebagai script Perl yang kemudian dibaca oleh ncc.

(4)

Danis Prabandana 12/331439/PA/14693

4.2 PlatformP dan PlatformC

PlatformP dan PlatformC adalah komponen yang bertanggung jawab melakukan booting sebuah platform sehingga platform dapat digunakan. Secara umum ini berarti sesuatu seperti mengkalibrasi clock dan inisialisasi pin-pin I/O. Jika platform membutuhkan beberapa perangkat agar diinisialisasi dengan urutan tertentu juga dapat diimplementasikan disini.

Urutan boot akan menginisialisasi interface dalam urutan berikut : PlatformC.Init dan MainC.SoftwareInit. PlatformC.Init harus mengatur inisialisasi dari hardware menjadi konsidi yang bisa dioperasikan. Komponen lain diinisialisasi sebagai bagian dari SoftwareInit dengan urutan yang ditentukan saat waktu kompilasi.

Tugas umum dari PlatformC.Init termasuk kalibrasi clock dan pin IO. Namun, komponen ini juga menyediakan control yang lebih banyak dari proses boot bila dibutuhkan.

(5)

PlatformP

(6)

Danis Prabandana 12/331439/PA/14693

4.3 Platform Specific Code

Selain PlatformP / PlatformC direktori platform berisi code tambahan yang khusus untuk Platform ini. Pertama ini bisa menjadi code yang mengikat resource platform independen untuk kasus tertentu pada platform ini. Kedua bisa menjadi code yang hanya relevan pada platform tertentu (misalnya clock rate pada platform ini). Misalnya LED : sebagian besar platform memiliki beberapa LED, dan sebagian pin pada platform ini terkait dengan implementasi platform independent menggunakan PlatformLedsC. TinyOS membutuhkan header hardware.

4.3.1 Platform Headers

a. hardware.h

File hardware.h termasuk di dalam tos/system/MainC.nc dan biasanya termasuk di dalamnya berisi file header yang menspesifikasi MCU. Sebagai tambahan dalam file hardware.h dapat mengatur flag yang tidak berhubungan dengan hardware secara umum tetapi berhubungan dengan platform. Berikut contoh mica2/hardware.h

b. platform message h

(7)

header_t pesan, pesan footer_t, dan message_metadata_t yang digunakan untuk mengisi struktur generik message_t. Di bawah ini adalah contoh dari platform_message.h mica2 :

4.3.2 Platform Specific Component

Code untuk fitur platform dependant juga berada di direktori platform. Jika kode dapat terikat dengan chip tertentu dapat ditempatkan dalam direktori terpisah di bawah direktori chip. Sebagai contoh berikut bagian micaz / chip / cc2420 / HplCC2420PinsC.nc mengait spesifik pin dan general name pada Platform MicaZ.

Referensi

Dokumen terkait

yang berbasis Linux, dikembangkan oleh Google bersama perusahaan-perusahaan lain yang tergabung ke dalam Open Handset Alliance.Android menyediakan platform terbuka bagi

Penelitian ini telah menghasilkan sebuah aplikasi antar-jemput laundry pada platform Android yang dibuat menggunakan bahasa pemrograman Java dan akses basisdata

Penelitian ini telah menghasilkan sebuah aplikasi antar-jemput laundry pada platform Android yang dibuat menggunakan bahasa pemrograman Java dan akses basisdata

Cross Platform Development berarti Corona mendukung pengembangan aplikasi pada operating system iOS & Android, jadi dengan sekali kerja kita bisa menghasilkan sebuah software

mengimplementasikan sebuah Mozilla Framework sebagai dasar dalam pembangunan sebuah aplikasi remote server yang memungkinkan pengguna untuk mengontrol server mereka dari jarak jauh

Multitenancy merupakan sebuah arsitektur yang memungkinkan vendor untuk menyewakan sebuah aplikasi, infrastruktur, dan platform yang digunakan oleh lebih dari satu

Salah satu modul platform khusus yang dirancang untuk satu sistem tertentu adalah Wireless Open-Access Research Platform (WARP), yang disediakan untuk memungkinkan peneliti

alam penelitian ini akan merancang sebuah platform CNC dengan bahan material alumunium penelitian ini bertujuan untuk membuat sebuah mesin CNC yang memiliki harga