Usbasp update/ Bootloader selbstbausensor

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
mczeus
Beiträge: 41
Registriert: 14.01.2019, 20:56
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Usbasp update/ Bootloader selbstbausensor

Beitrag von mczeus » 14.03.2020, 18:08

Hallo,

ich habe den HMSensor-CR2032 2x zusammengelötet und wollte nun den Bootloader schreiben um danach den sketch drauf zu laden.

Ich habe einen Usbasp programmer
USBAsp.JPG
den ich versucht habe Upzudaten, da ich im Arduino IDE folgende Fehlermeldung bekomme:
usbasp fehlermeldung.jpg
Weil ich keinen 2ten USBAsp habe, habe ich vesucht mit einem Raspberry pi 4 den Stick upzudaten.
Hat eigentlich auch geklappt lt. dem Bild
Usbasp update.jpg
Bekomme aber immer noch die Fehlermeldung im Arduino IDE, hat er den Stick nicht richtig upgedatet!?! wie kann ich das überprüfen?

Kann ich den Bootloader und Sketch auch mit dem Raspberry Pi aufspielen?

wäre schön wenn mir jemand einen Tip geben könnte.

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von lame » 26.03.2020, 10:58

Hi,
hier https://www.mikrocontroller.net/article ... programmer
findest Du Infos wie man den PI als ISP nutzen kann.
Hab ich selbst noch nicht getestet.

Der USBASP sollte aber auch trotz Warnung funktionieren (hab ich mal gelesen).
Sieht mir auch eher nach Verbindungsproblemen aus.

Mach mal einen Screenshot von den Arduino Programmer Einstellungen.
Und post mal das komplette Log von "Bootloader brennen".
Vorher über Datei->Voreinstellungen die "Ausführliche Ausgabe" für alles aktivieren.

Am besten auch mal den Aufbau fotografieren.
Viele Grüße
Lars

Benutzeravatar
Psi
Beiträge: 512
Registriert: 09.08.2018, 19:58
Wohnort: Nürnberg
Hat sich bedankt: 27 Mal
Danksagung erhalten: 90 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von Psi » 26.03.2020, 17:12

Zwecks ISP haben wir letztens auch noch etwas Doku geschrieben: https://asksinpp.de/Grundlagen/04-isp.html

Was hast du alles schon Bestückt? C1,C2 und R1 sollten drauf sein.

Hast du mal genau durchgemessen, also vom AVR Pin (nicht vom Lötpad) zum ISP?

mczeus
Beiträge: 41
Registriert: 14.01.2019, 20:56
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von mczeus » 19.04.2020, 16:30

vielen dank für die Antworten!
Bin erst jetzt wieder dazu gekommen das Projekt weiterzuführen.

Ich vermute der Fehler liegt an der Verbindung, haben nur die Platine mit Kabeln verlötet und an den RaspberryPi angeschlossen.

Wollte nun die Fuses setzen:

Code: Alles auswählen

root@raspberrypi4:/home/pi# /usr/local/bin/avrdude -c linuxspi -p m328p -P /dev/spidev0.0 -U lfuse:w:0xE2:m -U hfuse:w:0xD2:m -U efuse:w:0xFF:m -U lock:w:0xFF:m

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9514
avrdude: reading input file "0xE2"
avrdude: writing lfuse (1 bytes):

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

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xE2:
avrdude: load data lfuse data from input file 0xE2:
avrdude: input file 0xE2 contains 1 bytes
avrdude: reading on-chip lfuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xD2"
avrdude: writing hfuse (1 bytes):

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

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD2:
avrdude: load data hfuse data from input file 0xD2:
avrdude: input file 0xD2 contains 1 bytes
avrdude: reading on-chip hfuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing efuse (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;
Writing | ################################################## | 100% 0.03s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xFF:
avrdude: load data efuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip efuse data:

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

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x07 != 0xff
avrdude: verification error; content mismatch

avrdude: safemode: efuse changed! Was ff, and is now 7
Would you like this fuse to be changed back? [y/n]
Das bekomme ich als Antwort, was mache ich falsch?
Möchte ich den Bootloader flashen bekomme ich:

Code: Alles auswählen

root@raspberrypi4:/home/pi# /usr/local/bin/avrdude -c linuxspi -p m328p -P /dev/spidev0.0 -V -U flash:w:/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9514
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex"
avrdude: input file /home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex auto detected as invalid format
avrdude: invalid input file format: -1
avrdude: read from file '/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex' failed

avrdude: safemode: Fuses OK (E:07, H:D2, L:E2)

avrdude done.  Thank you.

root@raspberrypi4:/home/pi#

Wenn ich es mit der Arduino IDE versuche bekomme ich wenn ich den Bootloader brennen möchte:

Code: Alles auswählen

Arduino: 1.8.12 (Windows 10), Board: "ATmega328/P/PB, Atmega328P, No (ISP Programmer Upload), 8MHz Internal Oscillator, LTO Enabled, Disabled, Default, Default, Default"

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDF:m -Ulfuse:w:0xE2:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 0 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Fehler beim Brennen des Bootloaders.
Das selbe wenn ich am USBASP den jp3 setze




edit:
so sieht es besser aus:

Code: Alles auswählen

root@raspberrypi4:/home/pi# /usr/local/bin/avrdude -c linuxspi -p m328p -P /dev/spidev0.0 -V -U flash:w:/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9514
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex"
avrdude: input file /home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex auto detected as Intel Hex
avrdude: writing flash (32652 bytes):

Writing | ################################################## | 100% 1.03s

avrdude: 32652 bytes of flash written

avrdude: safemode: Fuses OK (E:07, H:D2, L:E2)

avrdude done.  Thank you.

root@raspberrypi4:/home/pi#
kopier fehler!?!

Muss ich die Fuses jetzt noch setzen?

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von lame » 19.04.2020, 19:45

mczeus hat geschrieben:
19.04.2020, 16:30
edit:
so sieht es besser aus:

Code: Alles auswählen

root@raspberrypi4:/home/pi# /usr/local/bin/avrdude -c linuxspi -p m328p -P /dev/spidev0.0 -V -U flash:w:/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9514
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex"
avrdude: input file /home/pi/ATmegaBOOT_168_atmega328_pro_8MHz.hex auto detected as Intel Hex
avrdude: writing flash (32652 bytes):

Writing | ################################################## | 100% 1.03s

avrdude: 32652 bytes of flash written

avrdude: safemode: Fuses OK (E:07, H:D2, L:E2)

avrdude done.  Thank you.

root@raspberrypi4:/home/pi#
kopier fehler!?!
Die letzte Bootloader-Übertragung sieht soweit gut aus.
Du kannst ja nochmal verifizieren. Siehe dazu die von PSI angegebene Webseite.
Ich hab aber keine Idee warum der erste Aufruf fehlgeschlagen ist.
mczeus hat geschrieben:
19.04.2020, 16:30
Muss ich die Fuses jetzt noch setzen?
Ja.
Viele Grüße
Lars

mczeus
Beiträge: 41
Registriert: 14.01.2019, 20:56
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von mczeus » 26.04.2020, 13:56

ich bekomme wenn ich die FUSE nur verifizieren will ein Mismatch, an was kann das liegen?
Ich benutze ein Raspberry Pi.

Code: Alles auswählen

root@raspberrypi4:/home/pi# /usr/local/bin/avrdude -c linuxspi -p m328p -P /dev/spidev0.0 -B 10 -U lfuse:v:0xE2:m -U hfuse:v:0xD2:m -U efuse:v:0xFF:m -U lock:v:0xFF:m

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9514
avrdude: verifying lfuse memory against 0xE2:
avrdude: load data lfuse data from input file 0xE2:
avrdude: input file 0xE2 contains 1 bytes
avrdude: reading on-chip lfuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: verifying hfuse memory against 0xD2:
avrdude: load data hfuse data from input file 0xD2:
avrdude: input file 0xD2 contains 1 bytes
avrdude: reading on-chip hfuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: verifying efuse memory against 0xFF:
avrdude: load data efuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip efuse data:

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

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x07 != 0xff
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK (E:07, H:D2, L:E2)

avrdude done.  Thank you.

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von lame » 30.04.2020, 13:51

mczeus hat geschrieben:
26.04.2020, 13:56
ich bekomme wenn ich die FUSE nur verifizieren will ein Mismatch, an was kann das liegen?
Ich benutze ein Raspberry Pi.
..bist Du weiter gekommen ?

Wenn man nach "verification error; content mismatch" sucht kommt meistens raus das der Programmer dran Schuld ist.
Viele Grüße
Lars

mczeus
Beiträge: 41
Registriert: 14.01.2019, 20:56
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von mczeus » 01.05.2020, 00:00

nein leider nicht..
wenn ich es mit dem USBasp versuche unter Windows mit dem Programm "BurnOMat V2" und der Option -F bekomme ich ein:

Code: Alles auswählen

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: program enable: target doesn't answer. 0 
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x656570
avrdude.exe: Expected signature for ATmega328P is 1E 95 0F

Code: Alles auswählen

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe -C C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf -p m328p -P usb -c usbasp-clone -F -u -U efuse:w:0xFF:m -U hfuse:w:0xD2:m -U lfuse:w:0xE3:m 

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: program enable: target doesn't answer. 0 
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x743831
avrdude.exe: Expected signature for ATmega328P is 1E 95 0F

avrdude.exe done.  Thank you.
kann es sein das es ein Problem der Hardware ist?
Hat jemand ein Tip für mich was ,es ncoh sein kann?

lame
Beiträge: 157
Registriert: 15.02.2019, 10:01
Hat sich bedankt: 74 Mal
Danksagung erhalten: 14 Mal

Re: Usbasp update/ Bootloader selbstbausensor

Beitrag von lame » 01.05.2020, 09:57

mczeus hat geschrieben:
01.05.2020, 00:00
nein leider nicht..
Hab dir ne PM geschickt.
Viele Grüße
Lars

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“