Innehållsförteckning:

Hur man uppdaterar firmware på en billig USBasp-klon: 9 steg
Hur man uppdaterar firmware på en billig USBasp-klon: 9 steg

Video: Hur man uppdaterar firmware på en billig USBasp-klon: 9 steg

Video: Hur man uppdaterar firmware på en billig USBasp-klon: 9 steg
Video: Uppdatera firmware på Ducky-tangentbord 2024, November
Anonim
Hur man uppdaterar firmware på en billig USBasp-klon
Hur man uppdaterar firmware på en billig USBasp-klon

Detta är en liten guide för att blinka ny firmware på en USBasp-klon som min. Den här guiden är speciellt skriven för USBasp-klonen som ses på bilderna, men den bör fortfarande fungera med andra. Ledningarna visas i steg 5, det finns en TL; DR på steg 9.

Njut av!

Steg 1: Problemet

Problemet
Problemet
Problemet
Problemet

Avrdude berättar att programmeraren jag använder har föråldrad firmware. Den normala bygeln för självprogrammering finns inte på mitt kort. Så här fixar du det. Schema för USBasp finns på fischl.de.

Steg 2: Material som behövs

Du kommer behöva…

  • Ett lödkolv
  • En Arduino (helst Nano)
  • Några bygelkablar
  • En dator med Arduino IDE och avrdude installerat

Steg 3: Lösningen

Lösningen
Lösningen
Lösningen
Lösningen
Lösningen
Lösningen

För att vi ska kunna blinka ny firmware på ATmega8 måste vi få kontroll över dess RESET -pin. Normalt kan en bygel på USBasp stängas för att möjliggöra självprogrammering, men tillverkaren av mitt kort inkluderade inte en.

På ATmega8 är RESET -stiftet stift 29, det fjärde stiftet uppifrån från vänster. Den är ansluten till ett 10k uppdragningsmotstånd till 5V. Vi måste ansluta den till stift 5 i ICSP -huvudet.

Vi kan försöka löda en tråd direkt på motståndet eller själva stiftet, men det är tråkigt och kan skada din bräda. (Jag försökte det och slet av pull-up-motståndet, jag rekommenderar det inte) Det finns också ett mycket enklare sätt!

Även om tillverkaren inte inkluderade en riktig bygel för att möjliggöra självprogrammering, lade han en rubrik under mikrokontrollen. Vi kan helt enkelt löda en tråd över och …

Steg 4: Voilà

Voilà!
Voilà!

Vi har anslutit de två återställningsnålarna! De två hålen på botten ansluter stift 29 och stift 14 på mikrokontrollern.

Steg 5: Konfigurera Arduino

För att flasha den nya firmware till programmeraren behöver vi en annan programmerare, i det här fallet en Arduino med ArduinoISP -skissen på den. Bara för att säkerställa att din inställning är densamma, vänligen kommentera rad 81

// #define USE_OLD_STYLE_WIRING

Anslut nu Arduino med ICSP -huvudet på din programmerare.

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 förblir urkopplad från datorn.

Öppna en terminal och skriv

avrdude -cavrisp -pm8 -b19200 -P [Ditt portnummer går här, det ska vara samma som i Arduino IDE]

Om allt går rätt ska avrdude skriva ut lite information om ATmega8 (säkringar, signatur, etc.)

Steg 6: Blinkar ATmega8

För att blinka chipet behöver vi fortfarande firmware. Gå till fisch.de och ladda ner den senaste versionen. Extrahera arkivet och navigera till det med hjälp av skalet.

Att kompilera koden fungerade inte för mig, men som tur är innehåller arkivet alla sammanställda program under

bin/firmware

Här ska du se tre.hex -filer. Välj den med samma namn som ditt chip. Min programmerare använder en ATmega8, så jag valde

usbasp.atmega8.åååå-mm-dd.hex

Med en fungerande anslutning till ATmega8, blinkande bör det bara krävas att skriva

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U blixt: w: [hex -fil]

Om allt gjordes korrekt, skulle avrdude skriva och verifiera den valda firmware.

Steg 7: Se till att programmeraren fungerar

Se till att programmeraren fungerar
Se till att programmeraren fungerar

För att kunna använda USBasp som programmerare igen måste vi ta bort anslutningen mellan stift 29 och stift 14. Det är tillräckligt att klippa bygeln på undersidan, men att ta bort det kan inte heller skada.

Du kan prova det genom att ansluta det till datorn och skriva

avrdude -cusbasp -pm8

Även om avrdude inte kan nå målet, bör det åtminstone erkänna vår nya programmerares firmware.

Steg 8: Felsökning

Felsökning
Felsökning

Skulle avrdude visa ett fel som detta har det förmodligen något att göra med funktionen för automatisk återställning av Arduino. För att kringgå detta, lägg till en kondensator mellan RESET och GND för Arduino. Det rekommenderas generellt att använda en 10µF kondensator, men i mitt fall fungerade en 100µF kondensator alldeles utmärkt.

Skulle du få ett fel som

avrdude: fel: programmera aktivera: målet svarar inte. 1

eller om en ogiltig signatur returneras, kontrollera din ledning. Jag hade problem med att mina strömkablar rostade och inte ledde el längre. Jag rekommenderar att du kontrollerar alla bygelkablar i förväg.

Se också till att byta stift 11 och stift 12 på Arduino, om problemet kvarstår.

Se också till att ställa in rätt överföringshastighet för Arduino som ISP, 19200. Den kan ställas in med alternativet

-b19200

Hör av dig till mig om du har några frågor eller har upptäckt ett misstag:)

Steg 9: TL; DR

  1. Löd en tråd över de två stiften på brädans botten
  2. Ställ in en Arduino som internetleverantör, se till att aktivera det gamla kopplingsschemat
  3. Anslut Arduino till programmeraren via ICSP -huvudet
  4. Flasha den nya firmware på programmeraren
  5. Ta bort anslutningen på undersidan
  6. Slita inte av några SMD -motstånd

Rekommenderad: