Forum: Mikrocontroller und Digitale Elektronik Mega2560 Arduino bootloader über SWD/JTAG oder USB


von Diode (Gast)


Lesenswert?

Hallo

Kurze Frage:
Gibts eine einfache Möglichkeit den Arduino bootloader, mittels eines: 
STM32 adabters, USB Blasters oder direkt per USB zu brennen?

von Einer K. (Gast)


Lesenswert?

Einen ISP Adapter/Programmer, du benötigst.
z.B. einen anderen Arduino.
Atmel ICE
und viele Weitere
Der verbreitete USBasp scheitert leider an den 128kWord.

Auch den ATmega16U2 auf dem Mega könntest du zum Programmer machen.
Dann gehts über USB ohne zusätzliche Hardware(außer ein paar Drähte).

von Franz M. (elmo64)


Lesenswert?

Diode schrieb:
> SWD

Nein

Diode schrieb:
> STM32 adabters

Nein, andere Firmware nötig

Diode schrieb:
> USB Blasters

Nein, andere Firmware nötig

Diode schrieb:
> direkt per USB

Nein

Diode schrieb:
> JTAG

JA

Methode der Wahl: SPI, mit einem anderen Arduino, AVRIspMK2, etc.

: Bearbeitet durch User
von Diode (Gast)


Lesenswert?

Ok danke; naja ist ein bisschen schade aber ist halt so...

Hmm habe hier ein STM32 board, gibts entsprechend firmware (einfach 
portierbar) damit der STM den bootloader über spi brennt?

von Einer K. (Gast)


Lesenswert?

"Arduino as ISP" sollte auch auf STM32 Boards laufen.

von Diode (Gast)


Lesenswert?

Hmm habs nun mit dem RPi verbunden, AVRDude geht auch. Nur benötige ich 
nun das korrekte hex file für den Mega2560. Kann das bitte wer kurz 
hochkaden/verlinken?

von Einer K. (Gast)


Lesenswert?

Warum?
Das ist doch bei der Arduino IDE dabei.
Zudem liegt der Arduino AVR Core auf github öffentlich aus.

von Stefan F. (Gast)


Lesenswert?

Diode schrieb:
> Nur benötige ich nun das korrekte hex file für den Mega2560

Welches hex file meinst du? Was soll der ATmega2560 denn tun?

Meinst du den Bootloader? Der ist in der Arduino IDE im Menüpunkt 
"Bootloader brennen" (oder so ähnlich). Aber dafür brauchst du einen ISP 
Programmieradapter. Der Raspberry Pi ist kein ISP Programmieradapter - 
jedenfalls keiner den die Arduino IDE unterstützt - soweit ich weiß.

...

Ach jetzt hat es Klick gemacht: Du willst den Arduino Bootloader auf den 
ATmega Board flashen, und hast ihn dazu mit dem Raspberry Pi verbunden. 
Jetzt musst du avrdude an der Kommandozeile aufrufen, weil die IDE das 
nicht kann. Und deswegen suchst du das Hex file.

Ich habe die IDE nicht am Arbeitsplatz, deswegen kann ich dir den Pfad 
nicht nennen. Aber ich bin ziemlich sicher, dass du die Datei irgendwo 
im Arduino Installationsverzeichnis findest. Das kann nicht schwer sein, 
die Dateien und Verzeichnisse haben in der Regel unmissverständliche 
Namen.

...

Vielleicht klappt das: 
https://oxygene.sk/2015/02/using-raspberry-pi-as-an-arduino-avr-programmer/ 
Angeblich kann man so den Raspberry Pi zur Auswahlliste der 
Programmieradapter hinzufügen.

von Diode (Gast)


Lesenswert?

nun habe ATmegaBOOT_168_mega2560.hex
Mega2560-prod-firmware-2011-06-29.hex
sowie
stk500boot_v2_mega2560.hex

versucht. Alle erfolgreich gebrannt (verifiziert) aber ohne Erfolg 
bezüglich USB.

Ich habe die Vermutung, dass ich nicht das richtige file habe; anyway 
könnte auch an was anderem liegen (fuses etc). Daher wäre das richtige 
file hilfreich um den potentiellen Problemvektor zu verkleinern.

gebrannt mit:
sudo avrdude -p atmega2560 -C <mein gpiozeugs> -c pi_1 -v -U 
flash:w:<meinfile>:i

von Diode (Gast)


Lesenswert?

Diode schrieb:
> nun habe ATmegaBOOT_168_mega2560.hex
> Mega2560-prod-firmware-2011-06-29.hex
> sowie
> stk500boot_v2_mega2560.hex
> versucht. Alle erfolgreich gebrannt (verifiziert) aber ohne Erfolg
> bezüglich USB.
> Ich habe die Vermutung, dass ich nicht das richtige file habe; anyway
> könnte auch an was anderem liegen (fuses etc). Daher wäre das richtige
> file hilfreich um den potentiellen Problemvektor zu verkleinern.
> gebrannt mit:
> sudo avrdude -p atmega2560 -C  -c pi_1 -v -U flash:w::i

oopps das forum entfernt text mit <

anywaykorrektur von oben
 -C "mein goio zeugs"
w:zu brennende datei:i

von Einer K. (Gast)


Lesenswert?

Diode schrieb:
> könnte auch an was anderem liegen (fuses etc).
Ja!

Tipp:
Arduino IDE öffnen
Mega auswählen
Programmer wählen (gerne auch den Raspi)
Ausführliche Ausgaben aktivieren
Bootloader brennen drücken

Das brennt die Fuses gleich mit.

von Diode (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Diode schrieb:
>> könnte auch an was anderem liegen (fuses etc).
> Ja!
>
> Tipp:
> Arduino IDE öffnen
> Mega auswählen
> Programmer wählen (gerne auch den Raspi)
> Ausführliche Ausgaben aktivieren
> Bootloader brennen drücken
>
> Das brennt die Fuses gleich mit.

habe ich nun gemacht....
verification error bei 0000


Nun an der Verdrahtung scheints nicht zu liegen kann files hochladen und 
verifizieren. Terminal, erase etc geht auch alles. Hab den 2560-16AU. 
dies ist doch der richtige?!?

von Einer K. (Gast)


Lesenswert?

Diode schrieb:
> verification error bei 0000

Verstümmelt bis zur Unkenntlichkeit!
Bitte ausführliche Ausgaben aktivieren und dann zeigen.

von Diode (Gast)


Lesenswert?

nun ähnlich wie der bei der Anleitung geschrieben hat:

"I tried this but faced some issues. The fuses get read sometimes and 
sometimes not. Can't flash the hex file successfully. Verification 
mismatch at 0x000 error.Need help."

Nur bei mir kann ich zuverlässig fuses schreiben, oder auch hex files 
schreiben und verifizieren. Nur burn bootloader aus arduino heraus 
bringt mir den error: Verification mismatch at 0x000 error

von Einer K. (Gast)


Lesenswert?

Diode schrieb:
> wie der bei der Anleitung
Die Anleitung ist doch krank!
Oder?

Einen 5V 16MHz AVR an einem RPI beschreiben zu wollen, ohne jeden 
Levelshifter, halte ich für aussichtslos bis zerstörerisch.

Diode schrieb:
> Nur burn bootloader aus arduino heraus
> bringt mir den error: Verification mismatch at 0x000 error
Ich sehe, du möchtest die vollständige Meldung nicht zeigen.

Daraus muss ich schließen, dass dich die Meldung gar nicht interessiert!
Die Folge ist, dass ich dich jetzt mit deinem Problem alleine lasse.

von Diode (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Ich sehe, du möchtest die vollständige Meldung nicht zeigen.

Falsch, die vollständige Meldung hat keinen grösseren Informationsgehalt 
(zumindest was arduino IDE selbst ausgibt). Wieso soll ich eich hier 
etwas vorenthalten. Naja geht nicht nur bei mir nicht andere haben 
anscheinend auch das problem: Folge der anleitung-> komentare.

Schreiben geht ja, verifizieren auch. Nun eigentlich benötige ich nur 
das korrekte .hex und die korrekten Fuse Einstellungen.

Arduino Fanboy D. schrieb:
> Daraus muss ich schließen, dass dich die Meldung gar nicht interessiert!

Fehlender Informationsgehalt der Meldung != mangelndes Interesse

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.