«

»

Mar 26

Solusi Efisien untuk Platform Arduino

Untuk tingkat pemula, solusi yang ditawarkan oleh pengembang Arduino, bisa diterima dengan baik. Pengguna dapat langsung memrogram mikrokontroler dengan cara yang cukup sederhana dan langsung melihat hasilnya. Sebagai prototyping tool, Arduino cukup mengesankan.

Namun, pernahkan memperhatikan ukuran dari machine code yang dihasilkan?

Kompilasi aplikasi blinking LED yang disediakan sebagai contoh,  menghasilkan machine code berukuran 950 byte! Padahal, dengan development tool lain, machine code untuk program serupa, rata-rata kurang dari 180 byte!

Bagi pemula yang tidak mempersoalkan ukuran machine code, yang penting hasilnya kelihatan; maka hal ini tidak menjadi masalah. Namun ketika dituntut efisiensi ruang program, maka perlu memilih solusi lain yang lebih efisien, dibanding harus mengganti chip dengan chip lain yang memiliki ruang program yang lebih besar. Salah satunya adalah dengan memilih development tool lain, semisal WinAVR atau CodeVisionAVR (berbayar) atau MikroC (berbayar).

Solusi efisien untuk platform Arduino yang dimaksud adalah, kita tetap menggunakan board Arduino beserta dengan bootloader di dalamnya, namun pemrograman dilakukan dengan cara lain – menggunakan development tool lain alias tidak menggunakan Arduino IDE.

Hasil kompilasi berupa file .hex di-upload melalui Arduino Uploader yang bisa diperoleh secara free. Proses upload ini tetap memanfaatkan bootloader yang terdapat dalam chip alias tidak menggunakan hardware programmer eksternal.

Alhasil, penggunaan ruang program pun lebih hemat, karena meniadakan fitur-fitur program yang tidak perlu.

Untuk aplikasi blink-blink yang sempat dicoba, CodeVision AVR menghasilkan machine code berukuran ~ 140 byte, MikroC ~ 180 byte, Atmel AVRStudio + WinAVR ~ 90 byte, BASCOM AVR ~ 220 byte, Arduino ~ 950 byte!

Dalam aplikasi lain – Smoothing, membaca beberapa kali analog input dan merata-ratakannya, BASCOM AVR menghasilkan machine code berukuran ~ 860 bytes, Arduino ~ 2.838 byte! — hasil dari compiler lain akan di-update menyusul setelah mencobanya.

Beberapa software Arduino Uploader yang bisa di-download: