Langsung ke konten utama

Pengertian Bootloader pada Arduino

Sekilas tentang Bootloader

Beberapa pertanyaan tentang bootloader di bawah ini sering muncul tidak hanya dari programmer pemula, bahkan kadang programmer veteran pun pernah mempertanyakannya. Mungkin dalam pikiran Anda juga pernah tersirat salah satu atau beberapa pertanyaan dibawah ini:

1. Apa sih fungsi bootloader pada arduino?

2. Bisa nggak, misal bikin arduino tanpa bootloader?

3. Kalau nggak pakai bootloader, Arduino tetep bisa jalan nggak?

4. Apa kita bisa bikin bootloader sendiri untuk arduino?

Anda bisa menjawab sendiri pertanyaan di atas setelah memahami cara kerja arduino berdasarkan ilustrasi berikut.

Jika kita mau memprogram IC mikrokontroller, sebut saja keluarga AT89Sxx, ATMega, atau PIC, maka kita butuh alat tambahan (hardware) yang biasa dikenal dengan istilah programmer atau downloader. Contoh downloader untuk AVR dan PIC seperti gambar di bawah ini.

USBAsp untuk AVR dan PIC Programmer

Jika Anda menggunakan Arduino, Anda sudah tidak memerlukan downloader lagi. Anda bisa langsung  memasang program pada IC melalui software Arduino IDE  di komputer. Fungsi downloader sudah ditangani oleh  bootloader dalam IC. Program yang dikirim komputer ke  Arduino akan “ditangkap” dan disimpankan oleh bootloader  dalam memori program yang masih kosong. Program mikrokontroller akan disimpan dalam memori  flash atau flash memory. Setiap mikrokontroller dijalankan,  biasanya alamat program yang pertama dieksekusi adalah  alamat 0x0000 di flash memory.

Program bootloader biasanya dipasang pada alamat memori 0x0000 sehingga program tersebut menjadi program yang pertama kali dieksekusi. 

Pada mikrokontroller biasa, yang bertugas menyimpan program adalah programmer yang berupa hardware.  Sedangkan pada Arduino, proses penyimpanan program ke  memori flash dikerjakan oleh bootloader. Lebih detailnya, bootloader memiliki cara kerja seperti berikut: 

  1. Bootloader hanya dieksekusi saat Arduino dinyalakan. Oleh sebab itu, proses penyimpanan  program oleh bootloader hanya bisa dilakukan  sesaat setelah Arduino direset.
  2. Saat awal start, jika Arduino menerima kiriman program dari komputer. Maka tugas bootloader adalah menyimpan kiriman program tersebut pada memory flash yang tidak dipakai bootloader, misal  alamat memory 0x00AB. 
  3. Jika tidak ada kiriman program dari komputer, maka eksekusi program akan langsung lompat ke alamat  0x00AB untuk menjalankan program utama

Selain berfungsi untuk mengatur program yang akan diinstal dalam IC, bootloader juga berperan sebagai pengatur konfigurasi awal arduino seperti clock yang akan digunakan, mode komunikasi dengan serial komputer, 
timer, dan konfigurasi lainnya. Meskipun demikian, konfigurasi-konfgurasi tersebut tetap bisa kita ubah melalui program yang kita upload.

Misal kita punya board arduino, tapi IC yang dipasang tidak ada bootloadernya. Kita tidak bisa langsung memprogramnya dengan Arduino IDE, sebab perantara (bootloader) yang bisa menyimpankan program tidak ada.

Kita juga bisa membuat bootloader Arduino versi kita. sebagai informasi tambahan, bootloader arduino yang terbaru berukuran setengah kB dan dikenal juga dengan istilah optiboot.

support by
meteorstorepurwokerto
purwokertorobotic

Komentar

Postingan populer dari blog ini

MEMBUAT COUNTER MENGGUNAKAN ARDUINO UNO Dan modul P10

 Kali ini saya akan membagikan bagaimana cara membuat Counter Up dan Down Menggunakan Arduino Uno dan akan di tampilkan di Panel P10 Single Color dengan menggunakan 3 Buah tombol untuk mengendalikan counter tersebut. Bagi kalian yang ingin membuat atau mencoba percobaan kali ini kalian perlu menyiapkan bahan sebagai beriku: 1. Panel P10 Single Color 2. Arduino Uno 3. DMD Uno Shield  4. Tombol 3 Buah 5. Kabel Secukupnya 6. Power Supply 5V Setelah bahan lengkap silahkan dirangkai sesuai skema rangkaian dibawah ini: Jika Rangkaian sudah selesai Buatlah Program Counter seperti di bawah ini: #include "DMD3.h" DMD3 display (1,1); char dmdBuff1[10]; int Up = A0; int Down = A1; int Reset = A2; int counter = 0; void scan() {     display.refresh(); } void setup() {     Timer1.initialize(2000);     Timer1.attachInterrupt(scan);     Timer1.pwm(9,100);     pinMode(Up, INPUT_PULLUP);     pinMode(Down, INPUT_PULLUP);   ...

Project Running LED dengan IC Shift Register 74HC595 menggunakan arduino uno R3

project kali ini membuat Running LED atau biasa disebut lampu berjalan maksudnya adalah nyala led bergantian satu sama lain Peralatan yang disiapkan dan rangkaiannya adalah: 1. Arduino x 1 2. IC Shift Register 74HC595 x 1 3. LED x 8 4. Resistor dengan nilai seragam x 8 5. Project board x 1 6. Kabel jumper secukupnya  sambungan pin Arduino dengan IC 74HC595, dan komponen lainnya yaitu : Program LED Berjalan dengan Shift Register /* * Program LED Berjalan dengan Shift Register */ // konfigurasi pin Arduino const byte DataPin = 2; // DS data serial const byte LatchPin = 3; // ST_CP const byte ClockPin = 4; // SH_CP // menampung data byte data = 0; void setup() {  // konfigurasi pin sebagai ouput  pinMode(LatchPin, OUTPUT);  pinMode(ClockPin, OUTPUT);  pinMode(DataPin, OUTPUT); } void loop() {  // delay 200ms  if ( nonblocking_delay(200) ){  // geser kiri  data <<= 1;  // jika data == 0 (gesernya sudah habis)  // ulangi dari ...

pengertian modul Relay dalam Arduino dan mikrokontroller

Relay adalah komponen yang dapat digunakan sebagai saklar elektronik. Secara singkat, cara kerja relay adalah memanfaatkan magnet buatan untuk memicu kontaktor dari keadaan off menjadi on, atau sebaliknya. Ibaratnya begini, jika ingin menghidupkan lampu, kita harus pencet saklar yang nempel di tembok. Tapi jika  menggunakan relay, kita bisa menghidupkan atau  mematikan lampu tanpa menyentuh saklar lagi. Relay disebut juga sebagai saklar elektronik, yaitu saklar dapat  dikontrol dengan alat elektronik lainnya seperti Arduino Relay umumnya punya 5 pin atau kaki., yang terdiri dari: Dua kaki untuk listrik + dan GND, jika arus dan tegangannya cukup, maka relay akan aktif yang ditandai dengan bunyi „tek‟. Satu kaki sumber C (common), kaki ini yang akan dihubungkan ke kaki NC atau NO. Jika relay akan  digunakan untuk mengontrol lampu rumah, maka  kaki C disambung ke salah satu jalur listrik dari PLN.  Kaki NC (Normally Close), sebelum relay aktif, kaki NC ...