MENGISI FIRMWARE USB DOWNLOADER

MENGISI FIRMWARE USB DOWNLOADER
      Pada sebuah mikrokontroler fungsi firmware sangat vital, karena firmware/program adalah 'nyawa' bagi sebuah mikrokontroler. Seperti halnya mikrokontroler, pada usb downloader juga terdapat firmware/program yang berfungsi menjalankan perintah-perintah logika untuk dapat menjalankan fungsinya sebagai usb downloader. Firmware dapat didefinisikan sebagai suatu program atau perangkat lunak (biasanya berupa file dengan ekstensi *hex ) yang ditanamkan pada memory non volatile (biasanya dalam mikrokontroler atmega8 pada memori flash atau EEPROM) dan tidak dapat diubah (permanen) kecuali ada perubahan fisik dari hardware. 
      Firmware tersebut digunakan sebagai bentuk protokol atau tugas khusus yang akan dijalankan dalam hal ini pada USBASP digunakan sebagai protokol komunikasi serial SPI (serial peripheral interface ) antara PC dan mikrokontroler target. Umumnya dalam pegisian firmware pada usb downloader/USBASP Atmega 8 dapat dilakukan dengan dua cara, yaitu :
      1. Dengan board USBASP sebagai target.
      2. Dengan sismin atau board yang kompatible dengan atmega 8.
Berikut ini adalah langkah-langkah dalam pengisian firmware pada usb downloader atmega 8 :
      1. Dengan board USBASP sebagai target
          Cara pertama ini adalah dengan menggunakan dua buah downloader, yang satu sebagai
          'USBASP' yang kita manfaatkan sebagai board target dan satunya lagi sebagai USBASP
          downloader. Untuk membuat USBASP menjadi target board caranya adalah dengan
          menghubungkan jumper self programming (JP2) seperti gambar berikut :
          Jumper self programming merupakan suatu jumper yang digunakan untuk membuat board
          USBASP menjadi minimum sistem (target board).
          - Sediakan USBASP (Downloader) yang lain untuk mendownload firmware ke board target.
  - Hubungkan Downloader yang sudah jadi ke downloader yang baru dibuat, karena akan
            melakukan proses cloning / injeck driver USBASP.
            (Downloader tidak harus yang berbasis USBASP bisa yang lain asal kompatibel dengan
            MOSI,MISO,SCK dan reset mikrokontroler AVR).
      Dalam pengisian program pada USBASP dapat menggunakan software downloader (khazama/ avrdude/ Extreme burner AVR dll ), kali ini kita menggunakan Khazama Avr Downloader. Jika Atmega target belum pernah diisikan program apapun, saat mentransfer program ke Atmega target tadi, pin slow sck (2 pin header) harus saling disambung. Fungsinya untuk menyamakan kecepatan clock kedua sistem tersebut, karena Atmega target tadi belum di-set fusebitnya, jadi hanya menggunakan clock internal sebesar 1Mhz, nah kenapa slow sck saling disambung? Fungsinya yaitu untuk men-set nilai clock downloader menjadi 1Mhz juga.
      Cara mengisi program :
          a. Selanjutnya adalah  koneksikan konektor USB (USBASP) pada PORT USB
  b. Pastikan koneksi ke PC atau Laptop sudah lancar,dengan mengetesnya dengan cara sebagai
              berikut : buka khazama AVR Programmer kemudian pilih command > read signature.
          Jika ada permasalahan dalam koneksi maka akan muncul notifikasi berikut :
          Solusinya adalah :
              - Cek kembali koneksi (kabel ke mikrokontroler target)
              - Jangan lupa untuk memberi supply tegangan ke mikrokontroler target.
              - Jika permasalahan masih terjadi maka mungkin terjadi permasalahan pada saat
                penginstalan driver.
          Jika koneksi lancar maka akan muncul notifikasi seperti berikut :
          c. Berikutnya adalah load firmware, caranya sebagai berikut :
              - Klik File
              - Load flash to buffer
              - Kemudian cari dimana firmware tersebut disimpan
              - Setelah itu klik auto program
              - Selesai
     Pada pada tahan ini kita telah berhasil mengisi firmware USBASP ke dalam atmega 8. Untuk mencobanya apakah firmware yang kita isi telah berfungsi dengan baik, kita dapat mencobanya langsung diboard USBASP. Dengan cara melihatnya pada settingan device manager (start > Run > "devmgmt.msc") jika berfungsi dengan baik , maka USBASP akan tampil tanpa tanda seru.
      2. Dengan sismin atau board yang kompatible dengan atmega 8
          Cara ini memerlukan sismin/sistem minimum mikrokontroler atmega8 yang bertindak sebagai
          mikrokontroler/board target dimana kita membutuhkan downloader lain untuk mendownload
          firmware ke sismin atmega8. Downloader tersebut bisa berupa downloader paralel atau serial
          dengan tools programmernya menggunakan Ponyprog atau bisa juga dengan menggunakan
          downloader USBASP lain yang sudah jadi.
          - Kemudian sediakan USBASP (Downloader) yang lain untuk mendownload firmware ke
            atmega8. Seperti pada halnya cara pertama, downloader tidak harus yang berbasis USBASP
            bisa yang lain asal kompatibel dengan MOSI,MISO,SCK dan reset mikrokontroler AVR).
            Beri supply ke minimum sistem target dan perhatikan Pin MOSI,MISO,SCK dan Reset untuk
            lebih jelasnya silakan lihat di datasheet atmega8.
          Berikutnya tahapan pengisisan programnya sama seperti pada cara pertama diatas sampai pengisian program USBASP selesai terinstal.