INHOUDSOPGAWE:

Hoe om die firmware op te dateer op 'n goedkoop USBasp-kloon: 9 stappe
Hoe om die firmware op te dateer op 'n goedkoop USBasp-kloon: 9 stappe

Video: Hoe om die firmware op te dateer op 'n goedkoop USBasp-kloon: 9 stappe

Video: Hoe om die firmware op te dateer op 'n goedkoop USBasp-kloon: 9 stappe
Video: Управляем адресными светодиодами на ESP32, прошивка WLED, применение в Home Assistant 2024, November
Anonim
Hoe om die firmware op te dateer op 'n goedkoop USBasp-kloon
Hoe om die firmware op te dateer op 'n goedkoop USBasp-kloon

Dit is 'n klein gids om nuwe firmware op 'n USBasp-kloon soos myne te flits. Hierdie gids is spesifiek geskryf vir die USBasp-kloon wat op die foto's verskyn, maar dit moet nog steeds saam met ander werk. Die bedrading word op stap 5 getoon, daar is 'n TL; DR op stap 9.

Geniet dit!

Stap 1: Die probleem

Die probleem
Die probleem
Die probleem
Die probleem

Avrdude vertel my dat die programmeerder wat ek gebruik, 'n verouderde firmware het. Die normale springer vir selfprogrammering bestaan nie op my bord nie. Hier is hoe om dit reg te stel. Skema's vir die USBasp kan gevind word op fischl.de.

Stap 2: materiaal benodig

Jy sal nodig hê…

  • 'N Soldeerbout
  • 'N Arduino (verkieslik Nano)
  • 'N Paar springdrade
  • 'N PC met die Arduino IDE en avrdude geïnstalleer

Stap 3: Die oplossing

Die oplossing
Die oplossing
Die oplossing
Die oplossing
Die oplossing
Die oplossing

Om ons nuwe firmware op die ATmega8 te laat flits, moet ons die RESET -pen beheer. Normaalweg kan 'n jumper op die USBasp gesluit word om selfprogrammering moontlik te maak, maar die vervaardiger van my bord het nie een ingesluit nie.

Op die ATmega8 is die RESET -pen pin 29, die vierde pen aan die bokant van links. Dit is gekoppel aan 'n 10k optrekweerstand tot 5V. Ons moet dit koppel aan pen 5 van die ICSP -kop.

Ons kan probeer om 'n draad direk op die weerstand of die pen self te soldeer, maar dit is vervelig en kan u bord beskadig. (Ek het dit probeer en die optrekweerstand afgeruk, ek beveel dit nie aan nie) Daar is ook 'n baie makliker manier!

Alhoewel die vervaardiger nie 'n regte trui ingesluit het om selfprogrammering moontlik te maak nie, het hy 'n kop onder die mikrobeheerder geplaas. Ons kan eenvoudig 'n draad daaroor soldeer en …

Stap 4: Voilà

Voilà!
Voilà!

Ons het die twee reset -penne verbind! Die twee gate aan die onderkant verbind pen 29 en pen 14 van die mikrobeheerder.

Stap 5: Die opstel van die Arduino

Om die nuwe firmware op die programmeerder te laat flits, benodig ons 'n ander programmeerder, in hierdie geval 'n Arduino met die ArduinoISP -skets daarop. Net om seker te maak dat u opstelling dieselfde is, moet u reël 81 opmerk

// #defineer USE_OLD_STYLE_WIRING

Verbind nou die Arduino met die ICSP -kop op u programmeerder.

Arduino USB -aspek

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)

Die USB -asp bly van die rekenaar af gekoppel.

Maak 'n terminale oop en tik

avrdude -cavrisp -pm8 -b19200 -P [U poortnommer gaan hier, dit moet dieselfde wees as in die Arduino IDE]

As alles reg loop, moet avrdude inligting oor die ATmega8 afdruk (sekuriteite, handtekening, ens.)

Stap 6: Flits die ATmega8

Om die chip te laat flits, benodig ons nog steeds die firmware. Gaan na fisch.de en laai die nuutste weergawe af. Pak die argief uit en navigeer daarna met die dop.

Die opstel van die kode het nie vir my gewerk nie, maar gelukkig bevat die argief al die saamgestelde programme hieronder

asblik/firmware

Hier moet u drie.hex -lêers sien. Kies die een met dieselfde naam as u chip. My programmeerder gebruik 'n ATmega8, so ek het gekies

usbasp.atmega8.yyyy-mm-dd.hex

Met 'n werkende verbinding met die ATmega8, is dit slegs nodig om te flits

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U flits: w: [hex -lêer]

As alles korrek gedoen is, moet avrdude die geselekteerde firmware skryf en verifieer.

Stap 7: Maak seker dat die programmeerder werk

Maak seker dat die programmeerder werk
Maak seker dat die programmeerder werk

Om die USBasp weer as 'n programmeerder te gebruik, moet ons die verbinding tussen pen 29 en pen 14. Verwyder die trui aan die onderkant moet voldoende wees, maar dit kan ook nie skade doen nie.

U kan dit probeer deur dit weer aan te sluit op die rekenaar en te tik

avrdude -cusbasp -pm8

Selfs as avrdude nie die teiken kan bereik nie, moet dit ten minste die nuwe firmware van ons programmeerder erken.

Stap 8: Probleemoplossing

Probleemoplossing
Probleemoplossing

As avrdude 'n fout soos hierdie toon, het dit waarskynlik iets te doen met die outomatiese herstelfunksie van die Arduino. Om dit te omseil, voeg 'n kondensator tussen RESET en GND van die Arduino by. Dit word oor die algemeen aanbeveel om 'n 10µF -kondensator te gebruik, maar in my geval werk 'n 100µF -kondensator goed.

As u 'n fout kry soos

avrdude: fout: program aktiveer: teiken antwoord nie. 1

of as 'n ongeldige handtekening teruggestuur word, kyk na u bedrading. Ek het 'n probleem gehad met my kragkabels wat roes en nie meer elektrisiteit gelei het nie. Ek beveel aan dat u vooraf alle draaddrade nagaan.

Maak ook seker dat u pen 11 en pen 12 op die Arduino skakel, as die probleem voortduur.

Maak ook seker dat u die korrekte baud -tempo vir die Arduino as ISP, 19200, stel. Dit kan ingestel word met die opsie

-b19200

Laat weet my as u enige vrae het of 'n fout opgemerk het:)

Stap 9: TL; DR

  1. Soldeer 'n draad oor die twee penne aan die onderkant van die bord
  2. Stel 'n Arduino as ISP op, en maak seker dat u die ou bedradingskema inskakel
  3. Koppel die Arduino aan die programmeerder via die ICSP -kop
  4. Flits die nuwe firmware op die programmeerder
  5. Verwyder die verbinding onderaan
  6. Moenie enige SMD -weerstande afsny nie

Aanbeveel: