Indholdsfortegnelse:

Sådan opdateres firmwaren på en billig USBasp-klon: 9 trin
Sådan opdateres firmwaren på en billig USBasp-klon: 9 trin

Video: Sådan opdateres firmwaren på en billig USBasp-klon: 9 trin

Video: Sådan opdateres firmwaren på en billig USBasp-klon: 9 trin
Video: Sådan opdaterer du firmware på Olympus OM-D serien 2024, November
Anonim
Sådan opdateres firmwaren på en billig USBasp-klon
Sådan opdateres firmwaren på en billig USBasp-klon

Dette er en lille guide til at blinke ny firmware på en USBasp-klon som min. Denne vejledning er specielt skrevet til USBasp-klonen, der ses på billederne, men den skal stadig fungere sammen med andre. Ledningerne er vist på trin 5, der er en TL; DR på trin 9.

God fornøjelse!

Trin 1: Problemet

Problemet
Problemet
Problemet
Problemet

Avrdude fortæller mig, at den programmerer, jeg bruger, har forældet firmware. Den normale jumper til selvprogrammering findes ikke på mit bord. Sådan repareres det. Skemaer til USBasp findes på fischl.de.

Trin 2: Nødvendige materialer

Du får brug for…

  • Et loddejern
  • En Arduino (helst Nano)
  • Nogle springtråde
  • En pc med Arduino IDE og avrdude installeret

Trin 3: Løsningen

Løsningen
Løsningen
Løsningen
Løsningen
Løsningen
Løsningen

For at vi kan blinke ny firmware på ATmega8, skal vi have kontrol over dens RESET -pin. Normalt kan en jumper på USBasp lukkes for at muliggøre selvprogrammering, men producenten af mit kort inkluderede ikke en.

På ATmega8 er RESET -stiften pin 29, den fjerde pin øverst fra venstre. Den er forbundet til en 10k pull-up modstand til 5V. Vi skal tilslutte den til pin 5 i ICSP -headeren.

Vi kunne prøve at lodde en ledning direkte på modstanden eller selve stiften, men den er kedelig og kan beskadige dit bræt. (Jeg prøvede det og flåede pull-up-modstanden af, jeg anbefaler det ikke) Der er også en meget lettere måde!

Selvom producenten ikke inkluderede en rigtig jumper for at muliggøre selvprogrammering, lagde han et overskrift under mikrokontrolleren. Vi kan simpelthen lodde en ledning på tværs og …

Trin 4: Voilà

Voilà!
Voilà!

Vi har tilsluttet de to reset -pins! De to huller i bunden forbinder pin 29 og pin 14 på mikrokontrolleren.

Trin 5: Opsætning af Arduino

For at blinke den nye firmware på programmereren har vi brug for en anden programmør, i dette tilfælde en Arduino med ArduinoISP -skitsen på den. Bare for at sikre, at din opsætning er den samme, bedes du kommentere linje 81

// #define USE_OLD_STYLE_WIRING

Tilslut nu Arduino med ICSP -headeren på din programmør.

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 forbliver frakoblet pc'en.

Åbn en terminal og skriv

avrdude -cavrisp -pm8 -b19200 -P [Dit portnummer går her, det skal være det samme som i Arduino IDE]

Hvis alt går rigtigt, bør avrdude udskrive nogle oplysninger om ATmega8 (sikringer, signatur osv.)

Trin 6: Blinker ATmega8

For at blinke chippen har vi stadig brug for firmwaren. Gå over til fisch.de, og download den nyeste version. Udpak arkivet og naviger til det ved hjælp af skallen.

Kompilering af koden fungerede ikke for mig, men heldigvis indeholder arkivet alle de kompilerede programmer under

bin/firmware

Her skal du se tre.hex -filer. Vælg den med samme navn som din chip. Min programmør bruger en ATmega8, så jeg valgte

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

Med en fungerende forbindelse til ATmega8, skal det kun skrive, hvis det blinker

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

Hvis alt blev udført korrekt, skulle avrdude skrive og verificere den valgte firmware.

Trin 7: Sørg for, at programmereren fungerer

Sørg for, at programmereren fungerer
Sørg for, at programmereren fungerer

For at bruge USBasp som programmerer igen skal vi fjerne forbindelsen mellem pin 29 og pin 14. Skæring af jumperen i bunden bør være tilstrækkelig, men fjernelse kan heller ikke skade.

Du kan prøve det ved at tilslutte det tilbage til pc'en og skrive

avrdude -cusbasp -pm8

Selvom avrdude ikke kan nå målet, bør det i det mindste anerkende den nye firmware til vores programmør.

Trin 8: Fejlfinding

Fejlfinding
Fejlfinding

Skulle avrdude vise en fejl som denne, har det sandsynligvis noget at gøre med funktionen til automatisk nulstilling af Arduino. For at omgå dette skal du tilføje en kondensator mellem RESET og GND for Arduino. Det anbefales generelt at bruge en 10µF kondensator, men i mit tilfælde fungerede en 100µF kondensator fint.

Skulle du få en fejl som

avrdude: fejl: programmer aktiver: mål svarer ikke. 1

eller en ugyldig signatur returneres, skal du kontrollere dine ledninger. Jeg havde et problem med, at mine strømkabler ruster og ikke leder elektricitet længere. Jeg anbefaler at tjekke alle jumperkabler på forhånd.

Sørg også for at skifte pin 11 og pin 12 på Arduino, hvis problemet fortsætter.

Sørg også for at indstille den korrekte baudhastighed for Arduino som ISP, 19200. Den kan indstilles med mulighed

-b19200

Hvis du har spørgsmål eller har opdaget en fejl, så lad mig det vide:)

Trin 9: TL; DR

  1. Lod en ledning hen over de to ben på bunden af brættet
  2. Opret en Arduino som internetudbyder, og sørg for at aktivere det gamle ledningsskema
  3. Tilslut Arduino til programmøren via ICSP -headeren
  4. Flash den nye firmware på programmereren
  5. Fjern forbindelsen i bunden
  6. Riv ikke SMD -modstande af

Anbefalede: