«

»

Feb 27

Bootloader pada Mikrokontroler

Bootloader merupakan kata yang akhr-akhir ini mulai populer. Dengan bootloader, sebuah mikrokontroler dapat di-konfigurasi dan di-inisialisasi ketika proses booting. Prosesnya mirip dengan bootstrap loader pada operasi di komputer.

Mikrokontroler ARM adalah salah satu mikrokontroler yang menerapkan konsep ini sejak semula, sehingga pemrogramannya cukup melalui jalur serial alias tidak memerlukan hardware programmer.

Di keluarga AVR dan PIC pun, penggunaan bootloader mulai populer. Beberapa pabrikan sistem minimum sudah mulai menerapkan konsep ini, seperti pada produk MikroPIC (PIC 16F877) atau Arduino Severino (AVR).

Yang menjadi catatan dalam penggunaan bootloader adalah dukungan di sisi software. Kebanyakan compiler saat ini belum memberikan dukungan kepada proses download yang memanfaatkan bootloader. Mereka masih mendukung penggunaan hardware programmer. Jadi, dalam implementasinya, pengembang bootloader menyertakan software programmer yang kompatibel. Saat memrogram kita harus menjalankan program tersebut, membuka file berisi machine code dan memrogramnya.

Memang cara demikian terasa kurang nyaman. Di era single clicked saat ini, kita ingin solusi yang tuntas hanya dengan satu kali click.

Arduino dan Wiring adalah dua vendor yang menyediakan solusi single click. Namun, pengembangan program harus dilakukan melalui IDE yang mereka kembangkan, untuk memberikan kompatibilitas dengan bootloader yang juga mereka kembangkan. Mau tidak mau, suka tidak suka, memang demikianlah solusinya, karena tidak mudah untuk menikahkan produk multi vendor.

Program bootloader akan di-eksekusi ketika mikrokontroler diberikan catu daya atau dilakukan reset. Bila tidak ada komunikasi dengan software programmer, mikrokontroler akan mengerjakan tugas utamanya, meng-eksekusi program yang tertanam di dalamnya. Bila ada komunikasi, proses akan memasuki tahapan self programming, menerima program yang dikirim dari komputer dan menempatkannya pada ruang program.

Untuk rangkaian yang memiliki fasilitas auto-reset, maka proses download dapat dilakukan dengan memberikan sinyal reset. Bila tidak, proses download dilakukan setelah kita menekan tombol reset.