Home / Mikrokontroler / Arduino / Mengisi Bootloader USBaspLoader Pada Minimum System Arduino

Mengisi Bootloader USBaspLoader Pada Minimum System Arduino

Tutorial kali ini merupakan lanjutan dari tutorial membuat minimum system arduino sederhana yang telah saya tuliskan pada link berikut ini http://eko-rudiawan.com/belajar-membuat-minimum-system-arduino/. Pembahasan kali ini akan menjelaskan bagaimana cara mengisi firmware USBaspLoader pada minimum system arduino yang telah dibuat. Sehingga minimum system arduino dapat digunakan untuk berlajar mikrokontroler menggunakan Arduino IDE.

virtual usb
virtual usb

Persiapan Mengisi Firmware USBaspLoader

Sebelum melakukan proses pengisian firmware, ada beberapa tools dan software yang harus Anda siapkan terlebih dahulu. Beberapa tools dan software yang diperlukan antara lain sebagai berikut ini :

  1. Downloader atau programmer mikrokontroler AVR. Downloader yang digunakan boleh tipe apa saja asalkan support dengan IC mikrokontroler yang akan diprogram yaitu ATMega328P. Pada tutorial kali ini saya menggunakan downloader USBasp yang saya buat sendiri dan sudah saya jelaskan pada tutorial berikut ini http://eko-rudiawan.com/downloader-mikrokontroler-avr-usbasp/.
  2. Software WinAVR sebagai IDE yang digunakan untuk meng-compile sourcecode dari USBaspLoader agar dapat disesuaikan pada target mikrokontroler yang digunakan yaitu ATMega328P. WinAVR dapat didownload secara gratis pada link berikut ini http://sourceforge.net/projects/winavr/files/
  3. Sourcecode firmware USBaspLoader yang dapat di download pada link berikut ini http://www.obdev.at/products/vusb/usbasploader.html
  4. Software editor dengan fitur syntax highlighting untuk memudahkan proses mengedit sourcecode nantinya. Untuk software editor, Saya menggunakan Notepad++ yang dapat didownload secara gratis di internet.

Setelah tools dan software diatas tersedia, proses pengisian bootloader firmware USBaspLoader dapat dilakukan.

Langkah-Langkah Mengisi Firmware Bootloader USBaspLoader

Untuk mengikuti langkah-langkah berikut ini, Saya asumsikan bahwa semua tools dan software beserta driver yang dibutuhkan telah terinstall dengan baik di komputer Anda. Untuk melakukan kompilasi sourcecode diperlukan pengetahuan sedikit tentang penggunaan command prompt beserta perintah dasar yang digunakan. Saya anggap Anda telah familiar menggunakan command prompt di Windows. Tahapan mengisi bootloader USBasploader dapat dilihat di bawah ini :

  1. Ekstrak file sourcecode USBaspLoader pada lokasi yang mudah diingat. Sebagai contoh saya mengekstrak ke direktori C: . Supaya lebih mudah ganti saja nama foldernya menjadi USBaspLoader
    cara mengisi bootloader usbasploader (1)
    cara mengisi bootloader usbasploader (1)
  2. Buka file Makefile dengan Notepad++. Lokasi file ada di folder USBaspLoader/firmware.
    cara mengisi bootloader usbasploader (2)
    cara mengisi bootloader usbasploader (2)

    Anda perlu melakukan pengeditan pada baris 17 – 24. Samakan syntax Anda dengan syntax yang saya tuliskan berikut ini.

    F_CPU = 16000000
    DEVICE = atmega328p
    # BOOTLOADER_ADDRESS is 1800 for 8k devices, 3800 for 16k and 7800 for 32k.
    BOOTLOADER_ADDRESS = 7800
    FUSEOPT = $(FUSEOPT_328)
    LOCKOPT = -U lock:w:0x2f:m
    
    PROGRAMMER = -c usbasp -P usb
    
  3. Buka file bootloaderconfig.h disini yang perlu diedit adalah konfigurasi pin D+ dan D- USB serta pin switch bootloader. Pada gambar desain yang telah saya posting pada artikel sebelumnya, pin D+ terhubung pada PD2 dan D- terhubung pada pin PD3. Sedangkan switch bootloader berada pada PD7. Konfigurasi pin tersebut harus disesuaikan pada sourcecode bootloaderconfig.h. Lihat syntax program di bawah ini yang telah saya modifikasi sesuai dengan desain minimum system arduino yang telah saya buat.
    /* ---------------------------- Hardware Config ---------------------------- */
    
    #define USB_CFG_IOPORTNAME      D
    /* This is the port where the USB bus is connected. When you configure it to
     * "B", the registers PORTB, PINB and DDRB will be used.
     */
    #define USB_CFG_DMINUS_BIT      3
    /* This is the bit number in USB_CFG_IOPORT where the USB D- line is connected.
     * This may be any bit in the port.
     */
    #define USB_CFG_DPLUS_BIT       2
    /* This is the bit number in USB_CFG_IOPORT where the USB D+ line is connected.
     * This may be any bit in the port. Please note that D+ must also be connected
     * to interrupt pin INT0!
     */
    
    #define JUMPER_BIT  7   /* jumper is connected to this bit in port D, active low */
    
  4. Jika proses edit sourcecode telah selesai, selanjutnya adalah proses kompilasi program. Untuk melakukan kompilasi program jalankan Command Prompt. Jangan lupa untuk menghubungkan downloader USBasp yang sudah terhubung pada target board IC ATMega328P.
  5. Jika semua telah terpasang selanjutnya melakukan kompilasi dan mengisi bootloader. Masuk ke folder USBaspLoader/firmware melalui Command Prompt. Kemudian jalankan perintah
    make flash
    

    Dengan menjalankan perintah make flash, sourcecode akan dikompilasi ulang serta diupload ke memori IC ATMega328P.

    cara mengisi bootloader usbasploader (3)
    cara mengisi bootloader usbasploader (3)
  6. Setelah itu lanjutkan dengan menjalankan perintah
    make fuse
    

    Perintah make fuse digunakan untuk menulis fuse bit pada IC ATMega328P.

    cara mengisi bootloader usbasploader (5)
    cara mengisi bootloader usbasploader (5)
  7. Setelah selesai Anda dapat melepaskan IC ATMega328P dari target board kemudian memindahkan ke minimum system arduino yang telah dibuat sebelumnya.

Sekarang minimum system arduino sederhana yang telah Anda buat dapat digunakan untuk belajar mikrokontroler. Bagaimana cara menggunakannya akan saya bahas pada tutorial selanjutnya.

 

About Eko Rudiawan

Seorang lelaki yang punya ketertarikan dengan dunia elektronika dan robot yang saat ini sedang serius belajar tentang dunia bisnis dan internet marketing. My dream to be success technopreneur

Check Also

Minimum system arduino

Belajar Membuat Minimum System Arduino Sederhana dan Murah

Apa Itu Minimum System ? Untuk mulai belajar mikrokontroler, harus memiliki pemahaman dasar tentang membuat …

3 comments

  1. mas syntax nya mana mas

  2. driver yang di butuhkan apa aja mas ? soalnya setelah berhasil mengisi bootloader USBasploader tetapi masih idak bias d baca di device manager walau tombol boot d tekan yang ke pin 7 (kaki 13) apa harus instl driver lagi kayak install downloader ? kalau ada driver nya apa ya mas ,mohon bntuan nya

Leave a Reply

Your email address will not be published. Required fields are marked *

2 × five =