7

Click here to load reader

37087_37101

Embed Size (px)

DESCRIPTION

PRT

Citation preview

Page 1: 37087_37101

Observasi Software MPLAB Berbasis Salvo RTOS

pada Pemrograman Mikrokontroller Ika Setyaningsih

1, Resol Sofi Iyah

2, Awang Noor Indra Wardhana

3

1,2,3Jurusan Teknik Fisika FT UGM

Jln. Grafika 2 Yogyakarta 55281 INDONESIA [email protected]

[email protected]

[email protected]

Intisari— Mikrokontroler sebagai pengontrol suatu sistem sesuai dengan yang diinginkan baik itu sistem analog maupun sistem

digital. Secara umum cara kerja sama seperti komputer, karena mikrokontroler ini bisa dikatakan sebagai komputer yang

dimasukkan dalam satu IC (integrated circuit) atau chip, sehingga ukurannya kecil. Microchip Inc telah menyediakan perangkat

lunak (software program) berbasis Windows Operating System (OS) bernama Microchip MPLAB. Software program ini telah

memiliki editor teks, kompiler program dan simulasi program sebelum diisikan ke mikrokontroler. MPLAB disebut dengan

Integrated Development Environment, atau IDE, karena MPLAB menyediakan “environment” tunggal yang terintegrasi untuk

mengembangkan kode bagi mikrokontroler terintegrasi. MPLAB IDE digunakan pada PC dan berisi semua komponen yang

diperlukan untuk merancang dan menggunakan aplikasi embedded system. Banyaknya perangkat keras yang menggunakan

sistem kontrol maka akan semakin kompleks juga sistem pengontrolan yang akan dirancang. Untuk mempermudah perancangan

sistem kontrol tersebut maka pada proses perancangan ikut dimasukkan sebuah perangkat lunak yang bernama Real Time

Operating System (RTOS). Salvo adalah real-time operating system (RTOS) yang kuat, memiliki performa tinggi dan tidak mahal.

Yang membutuhkan memori yang sangat kecil dan tidak bertumpuk. Software ini mudah digunakan untuk membantu user

dengan cepat membuat program untuk sistem terintegrasi.

Kata kunci— MPLAB IDE,mikrokontroler,microchip,RTOS,Salvo

Abstract—Microcontroller as a system controller as expected both analog system or digital system. In general, how to work as a

computer, because the microcontroller can be regarded as a computer into a single IC (integrated circuit) or the chip, so the small size.

Microchip Inc. has provided software (software program) based on Windows Operating System (OS) named Microchip MPLAB. This

software program has a text editor, compiler and simulation program before the program is loaded into the microcontroller. Called

MPLAB Integrated Development Environment, or IDE, because MPLAB provides the "environment" to develop a single integrated

code for the integrated microcontroller. MPLAB IDE is used on the PC and contains all the necessary components to design and

deploy embedded systems applications. The number of hardware control system using the more complex control system also will be

designed. To facilitate the design of control system is then be included in the process of designing a software called Real Time

Operating System (RTOS). Salvo is a real-time operating system (RTOS) is a powerful, high performance and inexpensive. That

requires a very small memory and do not overlap. This software is easy to use to help users to quickly create a program for the

integrated system.

Keywords— MPLAB IDE,microcontroller,microchip,RTOS,Salvo

I. PENDAHULUAN

A. Latar Belakang

Mikrokontroler sebagai pengontrol suatu sistem sesuai

dengan yang diinginkan baik itu sistem analog maupun sistem

digital. Secara umum cara kerja sama seperti komputer,

karena mikrokontroler ini bisa dikatakan sebagai komputer

yang dimasukkan dalam satu IC (integrated circuit) atau chip,

sehingga ukurannya kecil. Mikrokontroler juga terdiri dari

dari prosesor, memori dan I/O (input/output) seperti pada

komputer. Perbedaannya dengan komputer adalah

mikrokontroler hanya dapat menyimpan satu program, tidak

seperti pada komputer dapat menyimpan banyak program.

Ada beberapa mikrokontroller hanya dapat diisi dengan

program yang disimpan dalam format “nama_file.hex”

contohnya Mikrokontroler PIC16F84A. Untuk mengubah

program bahasa assembler diperlukan suatu program yang

dapat mengkompilasi format “nama_file.asm” menjadi

“nama_file.hex”. Microchip Inc selaku produsen

mikrokontroler PIC16F84A telah menyediakan perangkat

lunak (software program) berbasis Windows bernama

Microchip MPLAB. Software program ini telah memiliki

editor teks, kompiler program dan simulasi program sebelum

diisikan ke mikrokontroler.

Kesalahan dalam penggunaan huruf kapital juga dapat

menyebabkan terjadinya error. Karena itu salah satu cara yang

tepat untuk menghindarinya adalah dengan membuat program

secara perbagian sehingga pengujian dapat juga dapat

Page 2: 37087_37101

dilakukan secara per-bagian. Dengan demikian, kesalahan

penulisan pada program dapat dideteksi dengan mudah.

Pembuatan program secara perbagian dapat dilakukan dengan

macro dan sub programs.

Dalam pemograman mikrokontroler sering kali di jumpai

sejumlah kelompok instruksi yang dipakai secara berulang.

Pemograman assembly sangat sensitive terhadap kesalahan

penulisan. Kesalahan dalam penulisan label saja dapat

berjalan sesuai dengan yang diharapkan. Pada pemograman

PIC 16F84 dengan menggunakan MPLAB juga membutuhkan

ketelitian dalam perancangan program. MPLAB merupakan

suatu perangkat lunak berbasis windows yang dapat

memudahkan kita dalam menulis kode program. MPLAB

memiliki fungsi yang digunakan untuk pengembangan

PICMicro seperti edit program assembly dan simulasi.

B. Tujuan

Pembuatan paper ini bertujuan untuk memaparkan software

MPLAB yang meliputi fungsi, fitur dan pembuatan program

menggunakan MPLAB. Selain itu, untuk mengetahui

hubungan MPLAB dengan Salvo Real-Time Operating System

(RTOS).

C. Manfaat

Dengan adanya paper ini diharapkan pembaca mulai

mengenal MPLAB sehingga dapat memanfaatkannya untuk

pembelajaran maupun untuk pemrograman mikrokontroller.

II. PEMPROGRAMAN MENGGUNAKAN MPLAB

MPLAB IDE adalah sebuh program Windows Operating

System (OS) yang menjalankan sebuah PC untuk

mengembangkan aplikasi bagi microchip mikrokontroler dan

kontroler sinyal digital. MPLAB disebut dengan Integrated

Development Environment, atau IDE, karena MPLAB

menyediakan “environment” tunggal yang terintegrasi untuk

mengembangkan kode bagi mikrokontroler terintegrasi.

MPLAB juga memiliki beberapa fitur seperti project dan

workspaces, fitur bahasa pemograman, fitur debug, fitur

device-terhubung, dan MPLAB Macros.

MPLAB IDE digunakan pada PC dan berisi semua

komponen yang diperlukan untuk merancang dan

menggunakan aplikasi embedded system.

Task yang digunakan untuk mengembangkan aplikasi

embedded controller adalah:

A. Menciptakan desain berlevel tinggi. Setelah menentukan

periferal dan pin mengontrol perangkat keras, write

firmware - perangkat lunak yang akan mengontrol aspek

hardware dari aplikasi embedded system. Sebuah alat

bahasa seperti assembler, yang langsung diterjemahkan

ke dalam kode mesin, atau compiler yang

memungkinkan bahasa yang lebih alami untuk membuat

program, harus digunakan untuk menulis dan mengedit

kode. Perakit dan kompiler membantu membuat kode

dimengerti, memungkinkan label fungsi untuk

mengidentifikasi rutinitas kode dengan variabel yang

memiliki nama terkait dengan penggunaan mereka, dan

dengan konstruksi yang membantu mengatur kode dalam

maintainable struktur.

B. Kompilasi, merakit dan menghubungkan perangkat

lunak menggunakan assembler dan atau compiler dan

linker untuk mengubah kode menjadi "1 dan 0" (kode

mesin untuk PIC). Kode mesin ini akhirnya akan menjadi

firmware (kode diprogram ke dalam mikrokontroler).

C. Pengujian kode. Debugger ini memungkinkan Anda

untuk melihat eksekusi "1 dan 0" terkait dengan source

code yang ditulis dengan simbol dan nama fungsi dari

program. Debugging memungkinkan untuk

bereksperimen dengan kode untuk melihat nilai dari

variabel pada berbagai titik dalam program, dan untuk

melakukan cek, mengubah variabel nilai dan melangkah

ke step selanjutnya.

D. "Burn" kode ke mikrokontroler dan memverifikasi

bahwa dijalankan dengan benar dalam selesai aplikasi.

Langkah 1 dilakukan oleh perancang, meskipun MPLAB

IDE dapat membantu dalam pemodelan dan pengkodean.

MPLAB IDE dapat melakukan langkah 2 sampai 4. Editor

Programmer-nya membantu menulis kode yang benar dengan

alat bahasa pilihan. Editor menyadari assembler dan

konstruksi pemrograman kompiler dan secara otomatis warna-

kunci kode sumber untuk membantu memastikan itu adalah

sintaksis benar. Project Manager memungkinkan untuk

mengatur berbagai file yang digunakan dalam aplikasi

misalnya: file sumber, deskripsi file dan file library. Ketika

kode tersebut dibangun, Anda dapat mengontrol seberapa

ketat kode akan dioptimalkan untuk ukuran atau kecepatan

oleh compiler dan di mana variabel individu dan program

Data akan diprogram ke dalam perangkat. Anda juga dapat

menentukan "model memori" dalam rangka untuk membuat

penggunaan terbaik dari memori mikrokontroler untuk

aplikasi yang akan digunakan. Tools Language akan

menunjukkan offending line ketika muncul error saat

membangun aplikasi kemudian akan ditampilkan dan dapat

"double klik" untuk pergi ke file sumber yang terkait untuk

segera editing. Setelah mengedit, tekan "build" tombol untuk

mencoba lagi. Seringkali ini menulis-kompilasi-fix loop

dilakukan berkali-kali untuk kode yang kompleks sebagai sub-

bagian yang ditulis dan diuji.

Setelah kode membangun dengan tidak ada kesalahan,

maka perlu diuji. MPLAB IDE memiliki komponen disebut

"debugger" dan simulator perangkat lunak bebas untuk semua

perangkat PIC untuk membantu menguji kode. Bahkan jika

perangkat keras belum selesai, tetap dapat memulai pengujian

kode dengan simulator, sebuah program perangkat lunak yang

mensimulasikan pelaksanaan mikrokontroler. Simulator dapat

menerima masukan simulasi (stimulus), dalam rangka

memodelkan bagaimana firmware merespon sinyal eksternal.

Simulator ini dapat mengukur kode waktu eksekusi, satu

langkah melalui kode untuk menonton variabel dan peripheral,

dan jejak kode untuk menghasilkan catatan rinci tentang

bagaimana program running.

Setelah hardware berada dalam tahap prototipe, debugger

hardware seperti MPLAB REAL ICE di-sirkuit emulator

Page 3: 37087_37101

dapat digunakan untuk menjalankan kode secara real time

pada aplikasi yang sebenarnya. Debugger ini menggunakan

sirkuit khusus yang dibangun ke banyak perangkat dengan

Program flash memori dan dapat melihat ke dalam program

target mikrokontroler dan data memori. Debugger ini dapat

berhenti dan memulai eksekusi program, yang memungkinkan

untuk menguji kode dengan mikrokontroler di tempat pada

aplikasi.

Integrated Development Environment memungkinkan

insinyur desain embedded system untuk kemajuan melalui

siklus ini tanpa gangguan di antara berbagai alat. Dengan

menggunakan MPLAB IDE, semua fungsi terintegrasi,

memungkinkan insinyur untuk berkonsentrasi pada

menyelesaikan aplikasi tanpa gangguan alat terpisah dan

mode operasi. MPLAB IDE adalah "wrapper" yang

mengkoordinasikan semua alat dari pengguna grafis tunggal

antarmuka, biasanya secara otomatis. Misalnya, sekali kode

tertulis, lalu dapat dikonversi untuk instruksi yang akan

dieksekusi dan di-download ke dalam mikrokontroler untuk

melihat cara kerjanya. Dalam proses ini beberapa alat yang

diperlukan: editor untuk menulis kode, project manager untuk

mengatur file dan pengaturan, compiler atau assembler untuk

mengubah kode sumber untuk kode mesin dan beberapa jenis

perangkat keras atau perangkat lunak yang baik

menghubungkan ke target mikrokontroler atau

mensimulasikan operasi mikrokontroler.

Gbr. 1Design Cycle

Gbr. 2 MPLAB IDE Project Manager

Gbr. 3 Sebuah Compiler mengubah source code ke instruksi

III. KOMPONEN MPLAB

A. Komponen MPLAB IDE Built-In

1. Project Manager: Manajer proyek menyediakan

integrasi dan komunikasi antara IDE dan language tools.

2. Editor: Editor adalah editor teks programmer dengan

fitur lengkap yang juga berfungsi sebagai jendela ke

debugger.

3. Assembler / Linker dan Language Tools: Assembler

dapat digunakan berdiri sendiri untuk merakit sebuah file

tunggal, atau dapat digunakan dengan linker untuk

membangun sebuah proyek dari file sumber terpisah,

perpustakaan dan objek direkompilasi. Linker

bertanggung jawab untuk posisi kode dikompilasi ke

daerah target memori mikrokontroler.

4. Debugger: Debugger Microchip memungkinkan

breakpoints, loncatan tunggal, menonton jendela dan

semua fitur dari debugger modern untuk MPLAB IDE.

Ini bekerja sama dengan editor untuk referensi informasi

dari target yang debugged kembali ke sumber kode.

5. Eksekusi Engine: Ada software simulator di MPLAB

IDE untuk semua perangkat MCU PIC dan DSC dsPIC.

Simulator ini menggunakan PC untuk mensimulasikan

instruksi dan beberapa fungsi perifer dari MCU PIC dan

DSC dsPIC perangkat. Opsional di-sirkuit emulator dan

di-sirkuit debugger juga tersedia untuk menguji kode

seperti berjalan di aplikasi hardware.

B. Alat Tambahan untuk MPLAB IDE

Komponen-komponen ini didistribusikan dengan

MPLAB IDE dan dapat ditemukan di bawah Menu Tools

1. Grafik Output dan Nilai Pengendalian Real-time

Monitor Data dan Control Interface (DMCI):

menyediakan mekanisme untuk melihat dan mengontrol

variabel dalam kode dan mengubah nilai-nilai mereka

secara real-time. Hal ini juga memungkinkan Anda

untuk melihat hasil Data dalam format grafis.

Page 4: 37087_37101

2. Bekerja dengan RTOS: Viewer RTOS memudahkan

Anda didukung real-time sistem operasi parameter.

C. Komponen Tambahan Opsional untuk MPLAB IDE

Komponen opsional dapat dibeli dan ditambahkan ke

IDE MPLAB:

1. Compiler: MPLAB C compiler dari Microchip

menyediakan terintegrasi, kode dioptimalkan untuk

PIC18, PIC24 dan PIC32 MCUs dan dsPIC DSCs.

Seiring dengan kompiler dari HI-TECH,

IAR,microengineering Labs, CCS dan Kerajinan Byte,

mereka dipanggil oleh MPLAB IDE Project Manager

untuk mengkompilasi kode yang secara otomatis dimuat

ke dalam debugger target instan pengujian dan verifikasi.

2. Pemrogram MPLAB PM3, PICSTART ® Plus, Pickit ™

1, 2 dan 3, MPLAB ICD 2 dan 3 di-sirkuit debugger, dan

ICE MPLAB NYATA ™ in-circuit emulator dapat

memprogram kode ke sasaran perangkat: MPLAB IDE

menawarkan kontrol penuh atas pemrograman baik kode

dan data, serta sebagai bit Configuration untuk mengatur

berbagai mode operasi dari target mikrokontroler atau

pengendali sinyal digital.

3. In-Circuit Emulator : REAL ICE MPLAB dan ICE

MPLAB 2000 di sirkuit-sistem emulator adalah untuk

PIC MCU dan DSC dsPIC perangkat. Mereka terhubung

ke PC melalui port I / O dan memungkinkan penuh

kontrol atas operasi mikrokontroler dalam aplikasi target.

4. In-Circuit Debugger: MPLAB ICD 2 dan 3, dan Pickit 2

dan 3, menyediakan alternatif ekonomi untuk sebuah

emulator. Dengan menggunakan beberapa sumber daya

on-chip, MPLAB ICD 2 dan 3 dapat men-download

kode ke mikrokontroler target yang dimasukkan dalam

aplikasi, mengatur Breakpoints, langkah tunggal dan

memantau register dan variabel.

IV. FASILITAS MPLAB

A. Project Dan Workspaces

Project berisi data yang dibutuhkan build

aplikasi (source code, linker script, dan sebagainya)

bersama dengan asosiasinya untuk berbagai jenis

tools build dan pilihan build. Workspace berisi

informasi dar perangkat yang telah dipilih, tool

debug atau programmer, membukan jendela dan

lokasinya serta pengaturan konfigurasi IDE lainnya.

Kegunaan fitur project adalah

Menggunakan project wizard

Membuat atau mengupdate project

Mengatur struktur project-bagian relative

Folder dan data project

Menggunakan Version Control System (VCS)

Menatur dan mengubah project

Kegunaan fitur project dan workspaces

Menggunakan single project dan workspace

(konfigurasi awal)

Menggunakan beberapa project dengan single

workspace

Mem-build aplikasi tanpa project (quickbuild)

B. Fitur Bahasa Pemograman

MPLAB IDE mendukung penggunaan dari

sejumlah assemblers dan compilers untuk mem-build

kode di beberapa bahasa pemograman. Mikrochip

menyediakan assemblers dan linkers gratis untuk PIC

MCU dan perangkat dsPIC DSC devices, yang sama

baiknya dengan compiler. Bagian ketiga

menyediakan pilihan dengan bahasa pemrograman

untuk assembly, C dan bahasa dasar.

Pengaturan language tool

Penggunaan script usage

Language supports windows and dialogs

Peralatan language supports

C. Fitur Debug

MPLAB IDE berisi pilihan fiur untuk membantu

debugging kode dan general support. Untuk

informasi pada fitur debug yang terasosiasi dengan

tool spesifik (termasuk tool specific windows dan

dialogs), lihat dokumentasi untuk debug tool

tersebut. Berikut ini beberapa tools pada Fitur debug:

run vs. step/ animate

Konfigurasi build (debug dan release)

Breakpoints

Trace Buffer Windows

Watch Window

Stopwatch

Microchip help

D. Fitur Device-Terhubung

Beberapa fitur MPLAB terhubung untuk

menampilkan dan merubah komponen dari

perangkat. Setelah memilih device MPLAB

mendeterminasi memory dan pengaturan yang

terhubung untuk perangkat tersebut dan

mengkonfigurasi displaynya secara berurutan.

Beberapa device-nya antara lain

Bits konfigurasi

Memori program dan data

Memori enternal

Stack

Memori ID

Peripheral

E. MPLAB Macros

MPLAB IDE mendukung kreasi dari macros, atau

rekaman dan playback dari keyboard dan atau

operasi mouse. Sekali macros telah dibuat, dia dapat

Page 5: 37087_37101

disimpan sebagai file atau penggunaan di depan.

Tools-nya antara lain:

menggunakan macros

macro menu dan toolbar

macros dialog

Gbr. 4 MPLAB IDE desktop

V. KONSEP SISTEM REAL TIME

Karakter dasar dari RTOS adalah sebuah sistem yang

mempunyai beberapa konsekuensi yang akan berpengaruh

pada sistem apabila deadline (batas akhir waktu pelaksanaan

task) tidak terpenuhi. RTOS sendiri terdiri dari 2 jenis yaitu,

sistem soft RTOS dan sistem hard RTOS. Soft RTOS bisa

dideskripsikan sebagai sistem yang hampir selalu

menyelesaikan task dengan waktu yang telah ditentukan. Pada

soft RTOS kemungkinan penyelesaian task melewati batas

waktu pelaksanaan task masih bisa terjadi. Dan pada sistem

soft RTOS, apabila terjadi kegagalan mencapai deadline

dalam waktu yang telah ditentukan maka sistem akan

mengalami efek yang tidak begitu berbahaya bagi sistem.

Contohnya seperti penurunan performa sistem. Sedangkan

hard RTOS merupakan sistem yang dipastikan selalu

menyelesaikan task dalam waktu yang telah ditentukan.

Dikatakan pasti selalu menyelesaikan task karena hard RTOS

selalu menyelesaikan task sebelum deadline dan apabila

terjadi kegagalan menyelesaikan task maka sistem akan

mengalami efek berbahaya yang dapat merusak sistem secara

keseluruhan.

A. Task

Sebuah task, merupakan sebuah objek/program yang dapat

dieksekusi dan beranggapan mempunyai CPU untuk task itu

sendiri. Salah satu proses perancangan aplikasi dengan RTOS

yaitu membagi semua pekerjaan dalam aplikasi tersebut

menjadi beberapa bagian task. Tiap task merupakan loop yang

akan terus berulang. Dalam proses pengulangan tersebut, task

akan mengalami tiga buah keadaan (gambar 2.1) yaitu:

a. Running: merupakan keadaan di mana sebuah task

dengan prioritas tertinggi berjalan

b. Ready: merupakan keadaan yang dialami sebuah task

jika terdapat sebuah task lain sedang running dan

task yang berada pada ready akan melanjutkan

pengerjaan task yang sempat tertunda oleh task yang

lebih tinggi prioritasnya.

c. Blocked: merupakan keadaan di mana jika sebuah

task membutuhkan event atau data, maka akan masuk

ke dalam blocked hingga event atau data yang

dibutuhkan telah tersedia.

Gbr. 5 Siklus State pada sebuah RTOS

B. Kernel

Kernel merupakan salah satu bagian dari sistem

multitasking yang mempunyai fungsi sebagai manajemen

dari seluruh task, mengatur komunikasi tiap task dan yang

terpenting adalah mengatur pewaktuan untuk CPU

sehingga tidak terjadi crash pada CPU. Untuk kernel

sendiri terdiri dari dua jenis yaitu, non-preemptive dan

preemptive.

C. Non-preemptive Kernel

Non-preemptive scheduling biasa dikenal dengan

nama lain cooperative multitasking, di mana task bekerja

sama satu sama lain untuk berbagi CPU. ISR bisa

membuat sebuah task dengan prioritas tertinggi menjadi

siap untuk dieksekusi, tetapi kemudian ISR akan kembali

ke task yang sebelumnya mendapat interupsi. Task yang

sudah siap tadi akan berjalan apabila task yang mendapat

interupsi tadi sudah selesai berjalan atau dengan kata lain

task yang sudah selesai berjalan akan menyerahkan CPU

kepada task dengan prioritas tertinggi (seperti konsep pada

lari estafet, di mana pelari sebelumnya menyerahkan

tongkat estafet kepada pelari selanjutnya).

Page 6: 37087_37101

Gbr. 6 Skema prinsip kerja non-preemptive kernel

Dari penjelasan di atas dapat diambil kesimpulan,

bahwa non-preemptive kernel menjalankan task berurutan

sehingga tidak akan terjadi tabrakan antar task. Hal ini

dikarenakan untuk menjalankan tiap task dibutuhkan CPU

dan CPU hanya bisa didapat apabila task sebelumnya

sudah selesai melakukan tugasnya.

D. Preemptive kernel

Preemptive kernel banyak digunakan untuk membuat

aplikasi dengan RTOS. Hal ini karena preemptive kernel

mempunyai respons yang lebih bagus daripada non-

preemptive kernel. Dari gambar 2.3 dapat dijelaskan

prinsip kerja dari preemptive kernel. Di mana task dengan

prioritas tertinggi yang sudah siap dieksekusi akan

langsung berjalan. Dan jika pada saat itu sedang ada task

dengan prioritas yang lebih rendah berjalan maka task

dengan prioritas rendah tersebut akan ditunda.

Jadi dapat disimpulkan bahwa preemptive kernel

selalu mendahulukan task dengan prioritas tertinggi yang

siap untuk dieksekusi. Dengan preemptive kernel respons

sistem bisa mencapai optimal dan waktu untuk

menjalankan task dengan prioritas tertinggi bisa ditentukan

berbeda dengan non-preemptive kernel yang tidak bisa

ditentukan.

Gbr. 7 Skema prinsip kerja preemptive kernel

E. Semaphore

Pada gambar 2.4 bagian atas dapat dilihat bahwa

terdapat sebuah lokomotif yang sedang berhenti karena

semaphore sebelah kanan sedang turun. Dan ketika

lokomotif tersebut berhenti maka semaphore yang berada

pada sebelah kiri akan turun. Ketika lokomotif kedua

datang dan melihat semaphore kiri yang turun maka

lokomotif kedua akan berhenti dan menunggu semaphore

kiri menjadi naik. Kemudian semaphore kanan akan naik

dan lokomotif pertama akan berjalan dan kemudian

semaphore yang kanan akan turun dan semaphore yang

kiri akan naik. Jika lokomotif pertama telah berjalan maka

sekarang berganti lokomotif kedua yang menunggu

semaphore kanan untuk naik.

Gbr. 8 Visualisasi dari cara kerja semaphore

Jadi jika dalam RTOS maka lokomotif tersebut

adalah task yang ingin mengakses shared data atau shared

hardware.

F. SALVO RTOS

Salvo adalah real-time operating system (RTOS)

yang kuat, memiliki performa tinggi dan tidak mahal.

Yang membutuhkan memori yang sangat kecil dan tidak

bertumpuk. Software ini mudah digunakan untuk

membantu user dengan cepat membuat program untuk

sistem terintegrasi.

Salvo didesain untuk digunakan pada microprocessor

dan microcontroller dengan sumber daya sangat terbatas,

dan biasanya membutuhkan memori 5 sampai 100 kali

lebih sedikit dibandingkan RTOS lainnya. Pada

kenyataannya, kebutuhan memori Salvo sangat minimal

yang akan berjalan ketika tidak ada RTOS lain yang bisa.

Salvo adalah jenis ROM dan sangat portable.

Software ini bekerja pada hampir semua processor, dari

PIC sampai Pentium.

Salvo menyediakan kerangka yang powerful dan

fleksibel dimana dapat dengan cepat membangun aplikasi.

Jika dihadapkan pada desain yang kompleks dan

sumber daya processing yang terbatas, Salvo dapat

membantu untuk membuat apa yang paling tersedia dalam

sistem. Dan jika dicoba untuk mengurangi harga atau

Page 7: 37087_37101

menambah kemampuan desain yang ada, Salvo mungkin

dibutuhkan karena dapat membantu mempengaruhi daya

processing yang digunakan.

Salvo ditulis dalam bahasa ANSI C, dengan

spesifikasi processor yang sangat kecil, beberapa ditulis

dalam bahasa assembly asli. Memiliki kemampuan

mengatur yang tinggi untuk mendukung permintaan

khusus dari aplikasi.

MPLAB yang dibuat adalah merupakan sistem non

real-time, sehingga untuk mengubahnya menjadi sistem

real-time digunakan Salvo RTOS yang keunggulannya

telah dijelaskan diatas.

VI. PENUTUP

Integrated Development Environment memungkinkan

insinyur desain embedded system untuk kemajuan melalui

siklus ini tanpa gangguan di antara berbagai alat. Dengan

menggunakan MPLAB IDE, semua fungsi terintegrasi,

memungkinkan insinyur untuk berkonsentrasi pada

menyelesaikan aplikasi tanpa gangguan alat terpisah dan

mode operasi. MPLAB merupakan sistem non real-time,

sehingga untuk mengubahnya menjadi sistem real-time

diperlukan Salvo RTOS. Dengan sistem real time maka

sebuah task (proses) dapat diselesaikan dalam waktu

tertentu yang bisa user tentukan sendiri. Selain itu terdapat

scheduling yang memungkinkan pengerjaan beberapa task

secara teratur sehingga kemungkinan untuk

bertabrakannya beberapa task bisa dihindarkan.

REFERENSI

[1] Zulfian Azmi. 2012. Menggunakan Mikrokontroler PIC

16F84 Untuk Sistem Robotika. Medan: SAINTIKOM

[2] 2009, MPLAB IDE User’s Guide with MPLAB Editor and

MPLAB SIM simulator, Microchip Technology Inc.,

[3] 2010, Salvo user manual, Pumpkin Inc.,

[4] Pujo L Bayu, Setiawan Iwan, Setiyono Budi, 2011,

Penerapan Real Time Operating Systems (RTOS) Pada

Mikrokontroler Avr (Studi Kasus Chibios/RT), Semarang,

Universitas Diponegoro Universitas.