Geçtiğimiz yıllarda Microchip firması tarafından satın alınan Atmel firmasının üretmiş olduğu 8 bit Atmel AVR işlemcisi olan ATmega328P veya ATmega328P-AU modeline, Arduino UNO vasıtasıyla önyükleyici yani bootloader yüklemesi yapabileceğiz. Board üzerinde barınan ve ayarlandığında bilgisayar portlarıyla seri haberleşmemizi sağlayan ATmega16U2 işlemcisi üzerinde değişiklik yaparak, Arduino IDE programı üzerinden yüklemelerimizi uygulayabileceğiz.

DFU (Device Firmware Update) yazılımı olan Atmel Flip, sağlamış olduğu UART (USB-TO-TTL) protokolüyle ATmega328P ve ATmega16U2 üzerinde bulunan ICSP portlarıyla bağlantı kurmamızı sağlayacak. Yazılım sayesinde ISP (In-circuit Serial Programmer) protokolünü işlemciye yükleyerek, Arduino IDE programı üzerinden istediğimiz ayarlamaları rahatlıkla yapabileceğiz. ISP protokolünün en önemli yeri, tüm Microchip ürünlerinin flash belleğinde yer alan sigorta bitlerini ve önyükleyici bölgesini programlamamıza olanak sağlamasıdır.

Atmel Flip Programını ATmega16U2 için Hazırlama:

1) Arduino UNO bağlantısını kurduktan sonra Aygıt Yöneticisi‘ni açarak yapacağımız işlemleri takip edin.

Şekil 1. Arduino UNO Serial Port Bağlantısı

2) ATmega16U2 ICSP pinlerinde bulunan RESET pini, PULL-UP durumunda olduğundan kısa devre ederek GND‘ye çekin. Bu işlemciyi flash durumuna getirecektir ve Arduino UNO, bir sonraki RESET‘e kadar UART durumundan çıkacaktır.

Şekil 2. ATmega16U2 Resetleme Pinleri

3) Arduino UNO bağlantısını tekrardan kurun. Bu işlemi yaptıktan sonra Şekil.3‘te yer alan aygıt biçimi ile karşılaşacağız. Windows 10 işletim sistemi üzerinden bilinmeyen aygıt olarak algılanan işlemcimizi yüklemek için bir sonraki adımı uygulayın.

Şekil 3. Bilinmeyen ATmega16U2 Aygıtı

4) Flip programını indirip, yükleme işlemini yapın ve ardından resimlerdeki adımları uygulayın.

Şekil 4. Bilinmeyen Aygıt > Sürücü Güncelleştir

Şekil 5. ATmega16U2 İşlemcisini Güncelleme Dizini

Şekil 6. ATmega16U2 Yazılımının Yükleme Ekranı

Şekil 7. ATmega16U2 USB Bağlantısı

5) Flip programını açıp, sol üst kısımda işlemci sembolüne tıklayarak, ATmega16U2 işlemcisini seçin.

Şekil 8. ATmega16U2 İşlemci Seçim Ekranı

6) Ardından USB sembolüne tıklayarak Arduino UNO üzerinden bağlantınızı tamamlayın.

Şekil 9. USB Bağlantı Ekranı

7) AVRISP MKII protokolünü sağlayan .hex kodunu indirin. “File > Load Hex File” kısmından .hex dosyasını programa dahil edin. Ardından Run butonuna basın.

Gif 1. AVRISP MKII Protokolü Yükleme

8) Değişiklikleri görmek adına Arduino UNO bağlantısını tekrardan kurun.

Şekil 10. AVRISP mkll “Güncelleme Gerekiyor” Uyarısı

9) Windows 10 için gereken AVRISP MKII WINDOWS 10 sürücüsünü indirin ve resimdeki seçili kısma göre yüklemeyi yapın.

Şekil 11. AVRISP mkll Sürücü Yükleme

Arduino UNO’yu her başlattığınızda RX-TX portlarına ait LED’lerin iki defa yandığını görmeniz gerekir.

Şekil 12. AVRISP mkll USB Bağlantısı

ATmega16U2 ile ATmega328p ICSP Bağlantısı:

10) ATmega16U2 işlemcisine ait ICSP pin bağlantılarına ait lehimleme işlemlerini gerçekleştirin.

Şekil 13. ATmega16U2 ICSP Bağlantı Aşaması

11) İşlemciler arasındaki ICSP bağlantılarını şekildeki gibi yapın.

Şekil 14. ATmega16U2 ile ATmega328p ICSP Bağlantıları

Arduino IDE ile Bootloader Yükleme:

Arduino IDE, otomatik olarak seçtiğiniz modelin önyükleyicisini yükleyecektir. Arduino UNO modeli kullandığımızdan dolayı optiboot_atmega328.hex dosyası varsayılan olarak yüklenmiştir.

Gif 2. Arduino IDE Bootloader Yükleme

Diğer Arduino modellerine bootloader yüklemek isterseniz, programlayacağınız işlemcinin ICSP portlarından bağlantı yapacağınızı unutmayın. Fakat yaygın olarak kullanılan Arduino modellerinin bazılarında ATmega16U2 olmayabilir (Micro, ProMini, Nano). Bazı modellerde ise CH340 Chip bulunabilir (Nano). Bu modeller için yapılacak çözüm, ATmega16U2 barındıran Arduino modellerini ana board olarak kullanarak, ilgili modeller arasında ICSP bağlantısı yapabilir ve bootloader yükleyebilirsiniz.

ATmega16U2 İşlemcisini Orjinal Hale Getirme:

Arduino IDE üzerinden tekrar program atmak için orjinal hale getirmemiz gerekmektedir. Ayrıca önyükleyicinin doğru yüklendiğinden emin olun.

1) Yukarıda bahsedilen 2. adımı uygulayın ve yeniden USB bağlantısını kurun.

2) Atmel Flip programına Usb-Serial.hex dosyasını yükleyin ve ardından Run edin.

3) İşlemlerinizin doğruluğunu, Aygıt Yöneticisi‘nden kontrol ederek veya basit bir Blink programı yükleyerek test edin.

Not: Başka modellere ait ATmega16U2 orjinal sürücülerini yüklemek istiyorsanız;
C:\Program Files\Arduino\hardware\arduino\avr\firmwares\atmegaxxu2\arduino-usbserial klasörüne girip, ilgili .hex dosyalarını bulabilirsiniz.

Erhan ULMAN

1995 doğumlu, Kocaeli Üniversitesi Mekatronik Mühendisliği Öğrencisi, NEFES Doğa Kulübü Yöneticisi. #android #csharp #teknoloji #bilişim #astronomi

Yanıt Bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir