Unable to gain access to bootloader APM 2.5.2

#1
Hallo,
ich habe auch ein APM 2.5.2 Board aus dieser Charge APM für 45 €
Jedoch kann ich mit dem Missionplaner 2.0.8 oder auch 2.0.7 keine Software (Arducopter) auf das Board flashen.
Als Fehlermeldung kommt immer: "Unable to gain access to bootloader".

Den Bootlader habe ich schon, mit diesem Hexfile, neu geflahst, bringt jedoch keine Verbesserung.

Hat jemand ne Idee was noch probieren könnte?

Gruß
ente

Flash-Befehl:
Code:
sudo avrdude -c stk500v2 -P /dev/ttyUSB0 -p m2560 -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U lfuse:w:0xFF:m -U flash:w:stk500boot_v2_mega2560.hex
und hier das Protokoll vom Flashvorgang:
Code:
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801
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 "0x3F"
avrdude: writing lock (1 bytes):

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

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

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

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

Writing | ################################################## | 100% 0.01s

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

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

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

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD8:
avrdude: load data hfuse data from input file 0xD8:
avrdude: input file 0xD8 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 lfuse (1 bytes):

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

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF 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 "stk500boot_v2_mega2560.hex"
avrdude: input file stk500boot_v2_mega2560.hex auto detected as Intel Hex
avrdude: writing flash (256458 bytes):

Writing | ################################################## | 100% 0.64s

avrdude: 256458 bytes of flash written
avrdude: verifying flash memory against stk500boot_v2_mega2560.hex:
avrdude: load data flash data from input file stk500boot_v2_mega2560.hex:
avrdude: input file stk500boot_v2_mega2560.hex auto detected as Intel Hex
avrdude: input file stk500boot_v2_mega2560.hex contains 256458 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 34.11s

avrdude: verifying ...
avrdude: 256458 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.
 
Zuletzt bearbeitet:
#4
Hast Du es mal mit dem Arduino für APM probiert?
Ja, gibt auch keine Verbindung. Fehlermeldung: "stk500v2_ReceiveMessage(): timeout"
Wenn ich aber aus der Arduino Bibliothek das Beispiel Porgramm "ASCII table" direkt, als Hex file, mit dem ISP flashe, dann kann ich auch per USB die ASCII Tabelle auslesen.
Alles merkwürdig..

EDIT:
Könnte mal jemand seinen Atmega2560 aus dem APM mal auslesen und mir die ausgelesene Hex-Datei zur Verfügung stellen, ich würde gerne mal die Hex-Datei direkt flashen und gucken was passiert.
 
Zuletzt bearbeitet:

franko_

Erfahrener Benutzer
#5
Hm, Du kannst also ein Hex mit dem Arduino auf das APM flashen?

Hast Du mal einen Erase Programm gewählt und den Atmega gelöscht?

Wenn es über den ISP geht, dann compiliere doch Arducopter und spiele es via ISP ein.
 
#9
Problem gelöst. Danke franko_ für die Hilfe bei der Fehlersuche.

Problem war der Programmieradapter, habe jetzt ein Arduino als ISP benutzt und jetzt läuft es =)
 
#11
Kurzanleitung:
1.auf den Arduino das ISP-Programm flashen (Programm ist bei den Beispielprogrammen dabei)
2.die Ausgänge vom Arduino richtig an den zu flashenden Chip (in diesem Fall ans APM-Board anschließen)
3.In der Ardunio Software den Chip-Typ auswählen (für das APM Board: Atmega2560)
4.Burn Bootloader anklicken
5.Warten.. dauert ca.5 Minuten

Hier noch eine Anleitung mit Bildern
 
#12
Hallo, heute ist mein ardupilot gekommen und ich habe das selbe problem.
Komme mit der lösung nur nicht klar. Ich habe keinen anderen arduino um zu flashen, dafür so ein teil:

Könnte mir da bitte jemand helfen? Bin Anfänger und im Moment etwas überfordert.
 
#18
hab noch ein kleines Problem: bekomme die Meldung: avrdude: warning: cannot set sck period. please check for usbasp Firmware update.
bin mich grad am durchlesen. muss ich vielleicht den Jumper 3 schließen um die sck Frequenz zu verringern?
 
#20
Ok mein Fehler. Habe alles klein geschrieben :(
Nach dem ersten flashen lies sich keine Firmware aufspielen. Aber nach dem 2. versuch ging es :)

Danke an alle :)
 
FPV1

Banggood

Oben Unten