Sebenarnya bootloader telah lama ada di dalam dunia mikrokontroler, hanya saja tingkat populeritasnya meningkat setelah ada project yang bernama ARDUINO, dengan bootloader kita tidak membutuhkan adapter khusus lagi untuk mendownloadkan kode program yang telah di kompile kedalam memeory mikrkontroler AVR. ini sangat berdapak pada semakin kecilnya biaya cost yang dikeluarkan untuk para penghobi dunia elektronika.
Pada dasarnya bootloader adalah program yang ditanamkan didalam mikrokontroler, yang mana program ini akan berkerja jika mikrokontroler mendapatkan sumber tegangan. saat ini telah banyak beredar bootloader yang open source salah satunya USBasp bootloader. so biar teman-teman pada kagak binggung dengan istilah bootloader, begitu juga ane pertama kali mendengar bootloader pusing 7 keliling mencari artinya apa. nah untuk lebih jelas lihat gambar dibawah ini.
Secara default program akan dieksekusi pada alamat 0x0000, akan tetapi dengan bootloader kita dapat mengeset alamat untuk pertama kali program dieksekusi. untuk lebih jelas perhatikan gambar berikut sob:
Gimana sudah ada gambarkan tentang bootloader kan sob.
agar proses siklus eksekusi program lebih cepat, bootloader mengunakan bahasa program asembler, so kalo sobat mau buat bootloader sendiri, ada baiknya sobat buka lagi buku-buku tentang asemblernya.
semua keluarga seri AVR dapat diprogram bootloader, akan tetapi ada berberapa seri yang telah ditanamkan bootloader didalam memorynya. program awal diatur pada fuse bit settings. proses download data flash tidak hanya dengan serial UART akan tetapi i2C,SPI dan USB, serta MMC/SD.
Sebagian besar saat ini bootloader mengunakan komunikasi COM Port dengan komputer, jika mengunakan USB to UART. untuk lebih jauh belajar tentang bootloader dapat berkunjung kesini:
- Atmex, http://ladyada.net/techproj/Atmex/, COM, 19200bps, Assembler; JAvrProg(Java), ATtiny2313 (8-16Mhz);
- Bootloader Programmer, Peter Dannegger, http://www.mikrocontroller.net/topic/12181, COM, Assembler; ATmega8/16/32/128;
- AVRProg-compatible Bootloader, Martin Thomas, http://www.siwawi.arubi.uni-kl.de/avr_projects/, COM, WinAVR (C); AVRProg; Various AVRs and speeds;
- USBisp Bootloader, Matthias Weisser, http://www.matwei.de/doku.php?id=en:electronics:usbisp, USB, COM, AVR-GCC(C); AVRProg; STK-500; ATmega8, FT245BM;6MHz;
- DL5NEG, Herbert Dingfelder,
http://www.herbert-dingfelder.de/bootloader/bootloader.html, COM,
19200bps, ASM, AVRProg;ATmega8 7.3728MHz;
- STK500-Bootloader, Pascal Stang,
http://hubbard.engr.scu.edu/embedded/avr/bootloader/, COM, Hex;
AVRProg; STK500; ATmega8-128; 7.3 – 22.1MHz
- AVR109 (AVR Butterfly), Atmel, http://www.atmel.com, COM, IAR(C); ATmega series; 12MHz;
- AVRUSBBoot, Thomas Fischl, http://www.fischl.de/avrusbboot/, USB, AVR-GCC; ATmega8(other Megas); 12MHz;
- Bootload HID, http://www.obdev.at/products/avrusb/bootloadhid.html, USB, HID, WinAVR; ATmega8;
Seperti halnya Virtual USB (VUSB) yang ada pada USBasp, tidak mengunakan jalur Tx/Rx lagi untuk mengirim data flash program...so didalam program bootloadernya telah tertanam library USB akses data...
Bagi sobat yang ingin berlajar USB bootloader sebaiknya sangat di anjurkan untuk membuat project sederhana dulu yaitu USB CDC sendiri...meskipun telah ada firmware di internet, tapi alangkah lebih mantap jika kita yang membuat firmware tersebut. ketika sobat telah mampu membuat USB CDC punya sobat sendiri...maka berkembangkan ke program bootloader dengan akses data lewat USB seperti program CDC...sampai sekian dulu artikel Bootloader AVR Mikrokontroler, kalo ada yang salah dari penjelasan ane diatas tolong dikoreksi ya sob..
USBasp Loader download
disini
write by : supriono
email : mekarobot.tm@gmail.com