İçindekiler:

Ucuz Bir USBasp-Klonunda Firmware Nasıl Güncellenir: 9 Adım
Ucuz Bir USBasp-Klonunda Firmware Nasıl Güncellenir: 9 Adım

Video: Ucuz Bir USBasp-Klonunda Firmware Nasıl Güncellenir: 9 Adım

Video: Ucuz Bir USBasp-Klonunda Firmware Nasıl Güncellenir: 9 Adım
Video: Arduino Bootloader Yükleme ve Arduino as ISP 2024, Kasım
Anonim
Ucuz Bir USBasp-Klonunda Firmware Nasıl Güncellenir
Ucuz Bir USBasp-Klonunda Firmware Nasıl Güncellenir

Bu, yeni bellenimi benimki gibi bir USBasp klonuna yüklemek için küçük bir kılavuzdur. Bu kılavuz, resimlerde görülen USBasp-klonu için özel olarak yazılmıştır, ancak yine de başkalarıyla çalışması gerekir. Kablolama 5. adımda gösterilmiştir, 9. adımda bir TL;DR vardır.

Eğlence!

Adım 1: Sorun

Sorun
Sorun
Sorun
Sorun

Avrdude, kullandığım programcının güncel olmayan bellenime sahip olduğunu söylüyor. Kendi kendini programlamaya yönelik normal jumper, kartımda mevcut değil. Bunu nasıl düzelteceğiniz aşağıda açıklanmıştır. USBasp şemaları fischl.de adresinde bulunabilir.

Adım 2: Gerekli Malzemeler

İhtiyacın olacak…

  • bir havya
  • Arduino (tercihen Nano)
  • Bazı atlama telleri
  • Arduino IDE ve avrdude kurulu bir PC

3. Adım: Çözüm

Çözüm
Çözüm
Çözüm
Çözüm
Çözüm
Çözüm

ATmega8'e yeni firmware yüklememiz için, RESET pininin kontrolünü ele almamız gerekiyor. Normalde, kendi kendine programlamayı etkinleştirmek için USBasp üzerindeki bir jumper kapatılabilir, ancak anakartımın üreticisi bir tane eklemedi.

ATmega8'de RESET pimi, soldan üstte dördüncü pim olan 29 pimidir. 10k pull-up direncine 5V'a bağlanır. ICSP başlığının 5 numaralı pinine bağlamamız gerekiyor.

Bir kabloyu doğrudan dirence veya pimin kendisine lehimlemeyi deneyebiliriz, ancak bu sıkıcıdır ve kartınıza zarar verebilir. (Denedim ve pull-up direncini söktüm, tavsiye etmiyorum) Ayrıca çok daha kolay bir yolu var!

Üretici, kendi kendini programlamayı sağlamak için gerçek bir jumper eklememiş olsa da, mikrodenetleyicinin altına bir başlık koymuş. Bir teli basitçe lehimleyebiliriz ve…

Adım 4: İşte

İşte!
İşte!

İki reset pinini bağladık! Alttaki iki delik, mikrodenetleyicinin 29 pimini ve 14 pimini birbirine bağlar.

Adım 5: Arduino'yu Ayarlama

Yeni bellenimi programlayıcıya yüklemek için başka bir programcıya ihtiyacımız var, bu durumda üzerinde ArduinoISP taslağı olan bir Arduino. Kurulumunuzun aynı olduğundan emin olmak için lütfen 81 numaralı satırı kaldırın.

// #define USE_OLD_STYLE_WIRING

Şimdi Arduino'yu programlayıcınızdaki ICSP başlığına bağlayın.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (Reset) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

USBasp bilgisayardan takılı değil.

Bir terminal açın ve yazın

avrdude -cavrisp -pm8 -b19200 -P[Port numaranız buraya gelecek, Arduino IDE'deki ile aynı olmalıdır]

Her şey yolunda giderse, avrdude ATmega8 hakkında bazı bilgileri (sigortalar, imza vb.)

Adım 6: ATmega8'i Yanıp Sönme

Çipi flaş etmek için hala bellenime ihtiyacımız var. fisch.de'ye gidin ve en yeni sürümü indirin. Arşivi çıkarın ve kabuğu kullanarak arşive gidin.

Kodu derlemek benim için işe yaramadı, ama neyse ki arşiv, altındaki tüm derlenmiş programları içeriyor.

çöp kutusu/bellenim

Burada üç.hex dosyası görmelisiniz. Çipinizle aynı ada sahip olanı seçin. Programcım bir ATmega8 kullanıyor, ben de

usbasp.atmega8.yyyy-aa-gg.hex

ATmega8'e çalışan bir bağlantıyla, yanıp sönmesi yalnızca yazarak gerektirmelidir.

avrdude -cavrisp -pm8 -b19200 -P[PORT] -U flash:w:[hex dosyası]

Her şey doğru yapıldıysa, avrdude seçilen ürün yazılımını yazmalı ve doğrulamalıdır.

7. Adım: Programcının Çalıştığından Emin Olun

Programcının Çalıştığından Emin Olmak
Programcının Çalıştığından Emin Olmak

USBasp'ı tekrar programlayıcı olarak kullanabilmek için pin 29 ile pin 14 arasındaki bağlantıyı kaldırmamız gerekiyor. Alttaki jumper'ı kesmek yeterli olacaktır ancak çıkarmak da zarar vermez.

PC'ye geri takıp yazarak deneyebilirsiniz.

avrdude -cusbasp -pm8

Avrdude hedefe ulaşamasa bile en azından programcımızın yeni firmware'ini kabul etmelidir.

8. Adım: Sorun Giderme

Sorun giderme
Sorun giderme

Avrdude böyle bir hata gösterirse, muhtemelen Arduino'nun otomatik sıfırlama özelliği ile ilgisi vardır. Bunu aşmak için lütfen Arduino'nun RESET ve GND arasına bir kapasitör ekleyin. Genellikle 10µF kapasitör kullanılması önerilir, ancak benim durumumda 100µF kapasitör gayet iyi çalıştı.

gibi bir hata alırsanız

avrdude: hata: program etkinleştirme: hedef yanıt vermiyor. 1

veya geçersiz bir imza döndürülürse, lütfen kablo bağlantınızı kontrol edin. Güç kablolarımın paslanması ve artık elektriği iletmemesi ile ilgili bir sorunum vardı. Tüm jumper kablolarını önceden kontrol etmenizi öneririm.

Ayrıca sorun devam ederse, Arduino'daki pin 11 ve pin 12'yi değiştirdiğinizden emin olun.

Lütfen ayrıca Arduino için doğru baud hızını ISP, 19200 olarak ayarladığınızdan emin olun. Seçenek ile ayarlanabilir.

-b19200

Herhangi bir sorunuz varsa veya bir hata gördüyseniz, lütfen bana bildirin:)

Adım 9: TL; DR

  1. Kartın altındaki iki pime bir tel lehimleyin
  2. Eski kablolama şemasını etkinleştirdiğinizden emin olarak bir Arduino'yu ISP olarak kurun
  3. Arduino'yu ICSP başlığı aracılığıyla programlayıcıya bağlayın
  4. Yeni bellenimi programlayıcıya yükleyin
  5. Alttaki bağlantıyı çıkarın
  6. Herhangi bir SMD direncini koparmayın

Önerilen: