OPENDROP V2.0 FIRMWARE BACKUP & RESTORE MET AVRDUDE

Kort overzicht

OpenDrop-v2.0-Firmware_avrdude_guide (dit artikel als PDF, aanbevolen!)

opendrop2.0_firmware (voor OpenDrop V2.0 als ZIP)

Dit document en blog post is voor mensen die:

  • wil een basiskennis voor avrdude gebruik met een Sparkfun Pro Micro (of compatibel) bord krijgen
  • (ATmega32U4 5V, 16 MHz)
  • krijg firmware bestanden voor de OpenDrop v2.0 (vier drukknoppen) - de firmware is NIET compatibel met nieuwere OpenDrop versies (v2.1 met joystick) - gebruik de GitHub download om de firmware zelf te compileren & uploaden.
  • niet bang zijn om hun handen vuil te maken met commando regel dingen onder Linux (en zullen de consequenties dragen - wij zijn niet aansprakelijk voor het breken van apparaten door het volgen van deze gids! Wees voorzichtig en controleer de commando's - het verschil tussen lezen (r) en schrijven (w) is letterlijk maar één letter)

Ik moest een kapotte Arduino repareren in een van onze OpenDrop V2.0 units (met vier drukknoppen). In de officiële GitHub repository ( -> https://github.com/GaudiLabs/OpenDrop ), geeft de download code voor de OpenDrop v2.1 (met een joystick). Daarom dacht ik dat de eenvoudigste oplossing zou zijn om een backup te maken van de firmware van een ander OpenDrop v2.0 apparaat, en die te kopiëren naar de nieuwe Arduino.

Ik gebruikte avrdude op een Raspberry Pi om een backup te maken van de firmware, en deze naar de nieuwe Arduino te schrijven. Backup vereist verschillende stappen, en de Arduino in de juiste toestand brengen (ook nodig om te lezen!).

Valkuilen die ik ben tegengekomen

  • controleer of uw USB-kabel bedrading voor data bevat - de eerste kabel die ik heb geprobeerd zal alleen de Arduino van stroom voorzien, maar het zal niet verschijnen in de USB-apparaten.
  • Het kopiëren en plakken van opdrachtregelcodes van de meeste blogs kan sommige tekens verkeerd weergeven - gebruik het PDF-document dat ik bij deze post heb gevoegd, om er zeker van te zijn dat de code correct is ingevoerd

Opzetten en basiskennis

De OpenDrop v2.0 wordt aangedreven door een Arduino-apparaat, dat compatibel is met het Sparkfun Pro Micro-bord. (Bijvoorbeeld Deekrobot Pro Micro)

  • ATmega32U4 (5V, 16 MHz)
  • geïntegreerde microUSB-poort voor voeding en programmering

avrdude wordt gebruikt om firmwarebestanden & instellingen van / naar de Arduino te lezen en te schrijven.

Ik gebruik een Raspberry Pi, omdat we een door Raspberry Pi goedgekeurde reseller zijn en ik me op mijn gemak voel met het gebruik van de Linux opdrachtregel in plaats van Windows.

Installatie van avrdude:

sudo apt-get install avrdude

De poort vinden om te gebruiken met avrdude

Haal de netstroomadapter uit de OpenDrop, als deze was aangesloten.

Steek de Arduino microUSB-kabel in de Arduino, en in de Raspberry Pi. Het apparaat zal piepen.

Zorg ervoor dat de Arduino verschijnt als een USB-apparaat:

/home/pi# lsusb

Bus 001 Apparaat 005: ID 2341:8037 Arduino SA

Bus 001 Apparaat 004: ID 0424:7800 Standard Microsystems Corp.

Bus 001 Apparaat 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub

Bus 001 Apparaat 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub

Bus 001 Apparaat 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Als de Arduino SA entry NIET verschijnt, controleer dan je USB kabel: sommige kabels geven alleen stroom door, geen data. Dit was trouwens ook de fout waarom ik de Arduino IDE op Windows niet kon gebruiken met dit apparaat - ik probeerde eerst een verkeerde USB kabel!

Zoek de poort, die de Sparkfun Pro Micro gebruikt:

ls /dev/tty*

/dev/tty /dev/tty12 /dev/tty17 /dev/tty21 /dev/tty26 /dev/tty30 /dev/tty35 /dev/tty4 /dev/tty44 /dev/tty49 /dev/tty53 /dev/tty58 /dev/tty62  /dev/ttyACM0

/dev/tty0 /dev/tty13 /dev/tty18 /dev/tty22 /dev/tty27 /dev/tty31 /dev/tty36 /dev/tty40 /dev/tty45 /dev/tty5 /dev/tty54 /dev/tty59 /dev/tty63 /dev/ttyAMA0

/dev/tty1 /dev/tty14 /dev/tty19 /dev/tty23 /dev/tty28 /dev/tty32 /dev/tty37 /dev/tty41 /dev/tty46 /dev/tty50 /dev/tty55 /dev/tty6 /dev/tty7 /dev/ttyprintk

/dev/tty10 /dev/tty15 /dev/tty2 /dev/tty24 /dev/tty29 /dev/tty33 /dev/tty38 /dev/tty42 /dev/tty47 /dev/tty51 /dev/tty56 /dev/tty60 /dev/tty8

/dev/tty11 /dev/tty16 /dev/tty20 /dev/tty25 /dev/tty3 /dev/tty34 /dev/tty39 /dev/tty43 /dev/tty48 /dev/tty52 /dev/tty57 /dev/tty61 /dev/tty9

U bent op zoek naar iets als /dev/ttyACM0, of /dev/ttyUSB0

In mijn geval was het /dev/ttyACM0

Deze poort zal alleen aanwezig zijn als het apparaat is aangesloten. Om er zeker van te zijn dat u de juiste poort hebt, kunt u de lijst proberen met de OpenDrop aangesloten, en de OpenDrop losgekoppeld (microUSB -> USB op de Pi). Vergelijk de uitgangen. Ik neem aan dat het voor u ook /dev/ttyACM0 zal zijn.

Map maken voor back-up

We worden de superuser, maken de directory voor de backup-bestanden aan, en gaan daar naar toe:

sudo su

mkdir /home/pi/opendrop2.0_bak

cd /home/pi/opendrop2.0_bak

Gebruik avrdude

De reset-knop (Belangrijk, sla dit deel niet over)

Om avrdude te laten werken, moet de SparkFun Pro Micro zich in de juiste systeemtoestand bevinden. Om de SparkFun Pro Micro in de juiste systeemtoestand te zetten, moet u de resetknop (met het label RST) twee keer snel na elkaar indrukken. Het apparaat zal piepen, en de LED zal beginnen te knipperen.

U moet het avrdude commando onmiddellijk daarna uitvoeren, omdat het apparaat na een korte time-out weer in de normale toestand komt.

Voor elk commando dat ik uitvoerde, drukte ik twee keer na elkaar op de RST knop. Waarschijnlijk zouden de commando's gecombineerd kunnen worden in een shell script; omdat ik voorzichtig wil zijn om de apparaten niet op te blazen door de verkeerde commandoregel te gebruiken, doorliep ik het proces handmatig.

Als je de RST knop niet gebruikt zoals ik heb geschetst, krijg je fouten van avrdude zoals:

Verbinding maken met programmeur: .avrdude: butterfly_recv(): programmeur reageert niet

Firmare back-up: Lezen - overzicht

We gaan een back-up maken

  • flash
  • eeprom
  • hfuse
  • lfuse
  • efuse

Ref: https://www.hackster.io/rayburne/avr-firmware-duplicator (Voorzichtig, de avrdude instellingen hier zijn niet correct voor de OpenDrop / Sparkfun Pro Micro).

Back-up van firmware: De commando's

Als u dat nog niet gedaan heeft, ga dan naar de directory die u heeft voorbereid voor de Firmware backup bestanden, en wordt de super gebruiker (root). Ik weet niet zeker of avrdude uit de doos zal werken zonder root rechten - probeer het als u wilt.

Zorg ervoor dat u de juiste poort gebruikt (hoogstwaarschijnlijk /dev/ttyACM0). Zorg ervoor dat je de letter "r" na het leesdoel hebt. r als in lezen; een letter w zou je doelbestand als bron gebruiken, om je Arduino Flash te overschrijven - zonder veiligheidsprompt!

De letter r achter de backup bestandsnaam specificeert het uitvoer type, het is belangrijk om dit goed te hebben voor de latere herstel operatie. Als u nieuwsgierig bent, lees dan de manpage hier: https://www.nongnu.org/avrdude/user-manual/avrdude_4.html

-p specificeert het platform

-c de programmeur

-P de poort

-U specificeert de bewerking (bron/doel:modus:doel/bron:bestand_modus)

Hier is dan het eerste commando om te gebruiken, en de uitvoer ervan:

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U flash:r:flash_backup_file_od2.0.hex:r

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen van flash geheugen:

 

Reading ################################################## | 100% 0.64s

 

avrdude: schrijven uitvoerbestand "flash_backup_file_od2.0.hex"

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Hier is het tweede commando. Je kunt trouwens de bestandsnamen veranderen (in dit geval de eeprom_backup_file_od2.0.hex bit):

 

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U eeprom:r:eeprom_backup_file_od2.0.hex:r

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen van eeprom geheugen:

 

Reading ################################################## | 100% 1.76s

 

avrdude: schrijven uitvoerbestand "eeprom_backup_file_od2.0.hex"

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Dan zullen we een back-up maken van drie verschillende soorten zekeringen. Hier is de eerste:

 

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U hfuse:r:hfuse_backup_file_od2.0.hex:r

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen van hfuse geheugen:

 

Reading ################################################## | 100% 0.00s

 

avrdude: schrijven uitvoerbestand "hfuse_backup_file_od2.0.hex"

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

nu de lfuse:

 

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U lfuse:r:lfuse_backup_file_od2.0.hex:r

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen van lfuse geheugen:

 

Reading ################################################## | 100% 0.00s

 

avrdude: schrijven uitvoerbestand "lfuse_backup_file_od2.0.hex"

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Nu het laatste commando, de efuse:

 

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U efuse:r:efuse_backup_file_od2.0.hex:r

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen van efuse geheugen:

 

Reading ################################################## | 100% 0.00s

 

avrdude: schrijven uitvoerbestand "efuse_backup_file_od2.0.hex"

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Onthoud dat u de RST knop moet indrukken tweemaal voor elke operatie! Het is niet nodig om de Arduino los te koppelen van de Raspberry Pi na het uitvoeren van de RST operatie.

 

Een ZIP-bestand maken

kunt u een ZIP-bestand maken met het volgende commando (vervang de paden waar nodig):

sudo zip -r /home/pi/opendrop2.0_bak.zip /home/pi/opendrop2.0_bak

De firmware herstellen

Als u de firmware moet herstellen, gebruikt u de volgende commando's. Nogmaals, vergeet niet vóór elk commando tweemaal op de RST-toets te drukken!

Voer de commando's uit vanuit de juiste directory als root. Zorg ervoor dat je de letter "w" hebt voor het schrijven naar de microcontroller (Arduino in dit geval).

Schrijf het flash bestand:

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U flash:w:flash_backup_file_od2.0.hex

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: OPMERKING: "flash" geheugen is gespecificeerd, een wis cyclus zal worden uitgevoerd

         Om deze functie uit te schakelen, specificeert u de optie -D.

avrdude: wissen chip

avrdude: lezen invoerbestand "flash_backup_file_od2.0.hex"

avrdude: flash aan het schrijven (32604 bytes):

 

Writing ################################################## | 100% 2.98s

 

avrdude: 32604 bytes flash geschreven

avrdude: verifiëren van flash geheugen tegen flash_backup_file_od2.0.hex:

avrdude: laad data flash data van invoerbestand flash_backup_file_od2.0.hex:

avrdude: invoerbestand flash_backup_file_od2.0.hex bevat 32604 bytes

avrdude: lezen van on-chip flash data:

 

Reading ################################################## | 100% 0.76s

 

avrdude: verifiëren ...

avrdude: verificatiefout, eerste mismatch op byte 0x7000

         0x55 != 0x5f

avrdude: verificatiefout; inhoud niet overeenkomend

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Opmerking: ik heb verschillende keren geprobeerd te schrijven, waarbij ik het commando lichtjes varieerde. Bij elke poging kreeg ik de verificatiefout; de firmware werkt echter prima - mijn oppervlakkig onderzoek toonde aan dat het te maken heeft met wat bedrading van de periferie van de microcontroller - het was in de OpenDrop gestoken terwijl ik bezig was met de backup en restauratie. Ik heb besloten dat de resultaten voor zich spreken, en ben verder gegaan met de restauratie van de andere onderdelen. Uw resultaten kunnen hier afwijken. Er worden geen garanties gegeven!

 

Herstel de eeprom:

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U eeprom:w:eeprom_backup_file_od2.0.hex

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen invoerbestand "eeprom_backup_file_od2.0.hex"

avrdude: invoerbestand eeprom_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: schrijven van eeprom (1024 bytes):

 

Writing ################################################## | 100% 3.44s

 

avrdude: 1024 bytes eeprom geschreven

avrdude: verifiëren eeprom geheugen tegen eeprom_backup_file_od2.0.hex:

avrdude: laadt eeprom-gegevens van invoerbestand eeprom_backup_file_od2.0.hex:

avrdude: invoerbestand eeprom_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: invoerbestand eeprom_backup_file_od2.0.hex bevat 1024 bytes

avrdude: lezen van eeprom-gegevens op de chip:

 

Reading ################################################## | 100% 1.76s

 

avrdude: verifiëren ...

avrdude: 1024 bytes van eeprom geverifieerd

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Herstel de zekeringen (Opmerking: ik heb iets gelezen over sommige zekeringen die alleen door een 12 V programmer kunnen worden gereset. YMMV).

 

Eerste lont:

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U hfuse:w:hfuse_backup_file_od2.0.hex

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen invoerbestand "hfuse_backup_file_od2.0.hex"

avrdude: invoerbestand hfuse_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: schrijven van hfuse (1 bytes):

 

Schrijven: 0% 0.00s ***failed;

Writing ################################################## | 100% 0.00s

 

avrdude: 1 bytes van hfuse geschreven

avrdude: verifiëren van hfuse geheugen tegen hfuse_backup_file_od2.0.hex:

avrdude: laad gegevens hfuse uit invoerbestand hfuse_backup_file_od2.0.hex:

avrdude: invoerbestand hfuse_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: invoerbestand hfuse_backup_file_od2.0.hex bevat 1 bytes

avrdude: lezen van hfuse gegevens op de chip:

 

Reading ################################################## | 100% 0.00s

 

avrdude: verifiëren ...

avrdude: 1 bytes van hfuse geverifieerd

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

nu lfuse:

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U lfuse:w:lfuse_backup_file_od2.0.hex

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen van invoerbestand "lfuse_backup_file_od2.0.hex"

avrdude: invoerbestand lfuse_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: schrijven van lfuse (1 bytes):

 

Schrijven: 0% 0.00s ***failed;

Writing ################################################## | 100% 0.00s

 

avrdude: 1 bytes van lfuse geschreven

avrdude: verifiëren van lfuse geheugen tegen lfuse_backup_file_od2.0.hex:

avrdude: laad gegevens lfuse uit invoerbestand lfuse_backup_file_od2.0.hex:

avrdude: invoerbestand lfuse_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: invoerbestand lfuse_backup_file_od2.0.hex bevat 1 bytes

avrdude: lezen van lfuse gegevens op de chip:

 

Reading ################################################## | 100% 0.00s

 

avrdude: verifiëren ...

avrdude: 1 bytes van lfuse geverifieerd

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

nu efuse:

avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -U efuse:w:efuse_backup_file_od2.0.hex

 

Aansluiten op programmer: .

Programmeur gevonden: Id = "CATERIN"; type = S

    Softwareversie = 1.0; geen hardwareversie vermeld.

De programmeur ondersteunt automatische addr-verhoging.

Programmeur ondersteunt gebufferde geheugentoegang met buffersize=128 bytes.

 

Programmer ondersteunt de volgende apparaten:

    Apparaat code: 0x44

 

avrdude: AVR apparaat geïnitialiseerd en klaar om instructies te aanvaarden

 

Reading ################################################## | 100% 0.00s

 

avrdude: Apparaat handtekening = 0x1e9587 (waarschijnlijk m32u4)

avrdude: lezen invoerbestand "efuse_backup_file_od2.0.hex"

avrdude: invoerbestand efuse_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: schrijven van efuse (1 bytes):

 

Schrijven: 0% 0.00s ***failed;

Writing ################################################## | 100% 0.00s

 

avrdude: 1 bytes van efuse geschreven

avrdude: verifiëren van efuse geheugen tegen efuse_backup_file_od2.0.hex:

avrdude: laad gegevens efuse uit invoerbestand efuse_backup_file_od2.0.hex:

avrdude: invoerbestand efuse_backup_file_od2.0.hex automatisch gedetecteerd als onbewerkt binair

avrdude: invoerbestand efuse_backup_file_od2.0.hex bevat 1 bytes

avrdude: lezen van efuse gegevens op de chip:

 

Reading ################################################## | 100% 0.00s

 

avrdude: verifiëren ...

avrdude: 1 bytes van efuse geverifieerd

 

avrdude: safemode: Zekeringen OK (E:CB, H:D8, L:FF)

 

avrdude gedaan. Dank u.

 

Dat is het - de firmware is hersteld. U kunt de OpenDrop / SparkFun Pro Micro nu loskoppelen van uw Raspberry Pi.

 

Nuttige links en referenties

  • https://www.nongnu.org/avrdude/user-manual/avrdude_4.html
  • https://askubuntu.com/questions/254835/how-can-i-know-the-usb-port
  • https://forum.arduino.cc/index.php?topic=403201.0 (avrdude commando voor ander doel!)
  • https://learn.sparkfun.com/tutorials/pro-micro–fio-v3-hookup-guide/introduction
  • https://www.hackster.io/rayburne/avr-firmware-duplicator (avrdude commando voor ander doel!)
  • https://forum.arduino.cc/index.php?topic=453997.0 (betreffende de fout met de flash-verificatie)