Click here to load reader
Upload
ika-setyaningsih
View
92
Download
9
Embed Size (px)
DESCRIPTION
PRT
Citation preview
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]
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
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
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.
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
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).
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
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.