Forum: Compiler & IDEs HEX oder BIN Datei mit minimal Erfahrung auf ATmega644 ohne Boatloader


von Michael K. (michaelkies)


Lesenswert?

Hallo,

ich bin der Michael und seit heute hier im Forum angemeldet. Ich habe 
die letzten Wochen bereits einiges hier gelesen und habe mit den Arduino 
Boards bereits einiges hinbekommen.

Doch jetzt bin ich an einem Punkt wo ich Hilfe benötige.
Ich habe einen ATmega644P-20PU der völlig nackt ist (ohne Bootloader). 
Der 644 kommt in einem Funkgerät zum Einsatz. Vom Softwareentwickler 
habe ich eine .hex und ein .bin Datei bekommen.

Ich habe mir dieses Programmiergerät bestellt: 
https://www.ehajo.de/boards/151/usp-mkii-avr-programmer

Wie bekomme ich nun einfach ohne viel Heckmeck die Software auf den 644. 
Der Hardwareaufbau zum Programmieren ist mir bekannt.

Gibt es intuitiver zu bedienende Software als das AVRdude?
Ich hab Microchip Studio in der aktuellen Version auf meinem Rechner, 
werde aber vom UI etwas erschlagen. Gibt es da einfachere Möglichkeiten?

von Testi (Gast)


Lesenswert?


von Frank G. (frank_g53)


Lesenswert?

Michael K. schrieb:
> Gibt es intuitiver zu bedienende Software als das AVRdude?

Vielleicht in Kombination mit einer IDE:
https://github.com/zkemble/AVRDUDESS
https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

von 900ss (900ss)


Lesenswert?

Frank G. schrieb:
> Vielleicht in Kombination mit einer IDE:
> https://github.com/zkemble/AVRDUDESS

Würde ich auch empfehlen.

von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Hallo,
ich nutze das AVR-Studio sehr gerne. Ist zwar nur das 6.2, aber sollte 
sicher ähnlich sein. Sollte das Symbol nicht zu sehen sein, 
EXTRAS-DEVICE Programming wählen. Du musst auch an die Fuses denken.
Gruß Carsten

von Falk B. (falk)


Lesenswert?

Carsten-Peter C. schrieb:
> Hallo,
> ich nutze das AVR-Studio sehr gerne. Ist zwar nur das 6.2,

Und heißt Atmelstudio, sieht man sogar im Screenshot ;-)

> aber sollte
> sicher ähnlich sein. Sollte das Symbol nicht zu sehen sein,
> EXTRAS-DEVICE Programming wählen. Du musst auch an die Fuses denken.

Ja. Wenn der Entwickler mitgedacht hätte, hätter er ein komplettes 
ELF-File erstellt, da muss keiner mehr mit Fuses rumhantieren.

von Falk B. (falk)


Lesenswert?

Michael K. schrieb:
> ibt es intuitiver zu bedienende Software als das AVRdude?

Sicher.

> Ich hab Microchip Studio in der aktuellen Version auf meinem Rechner,

Na da hat du doch alles, was man braucht.

> werde aber vom UI etwas erschlagen. Gibt es da einfachere Möglichkeiten?

Nicht irre machen lassen! Du mußt nur EIN Menu aufrufen, irgendwo bei 
Tools/Device Programming. Mach dann mal ein paar Screenshots, ich hab 
das Microchip Studio nicht.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Auf der Website des Programmers steht doch alles.
Kompatibel zu Atmelstudio (das hieß früher AVR-Studio, beide Namen sind 
ok) aber auch avrdudess und anderen. Man muss einen USB-Treiber 
herunterladen, und den Jungo-Treiber ersetzen.
Ich habe noch das letzte rein für AVR gedachte Studio 4.19, ohne SAM und 
das ganze Microsoft-Gedöns. Hier in der Virtual Box  mit WinXP.
Oben unter Tools - Connect Programmer, dann kommt dieses Auswahlmenü.

von michael_ (Gast)


Lesenswert?


von michael_ (Gast)


Lesenswert?

Oder eXtreme Burner.
Der  640 ist mit aufgeführt.

https://extreme-burner-avr.software.informer.com/

von Michael K. (michaelkies)


Angehängte Dateien:

Lesenswert?

Ich habe mir AVRDUDE 6.3 und AVRDUDESS 2.13 installiert. Leider 
funktioniert es nicht wie erhofft. Die Verbindung vom Programmer zum 
ATmega scheint zu passen da Atmel Studio mit dem µC eine Verbindung 
aufbauen kann.

Habt Ihr eine Idee für mich was nicht stimmt?

von Falk B. (falk)


Lesenswert?

Michael K. schrieb:
> Ich habe mir AVRDUDE 6.3 und AVRDUDESS 2.13 installiert. Leider
> funktioniert es nicht wie erhofft. Die Verbindung vom Programmer zum
> ATmega scheint zu passen da Atmel Studio mit dem µC eine Verbindung
> aufbauen kann.

Und warum dann avrdude? Brenn das Ding mit Atmel Studio, ist deutlich 
einfacher.

von 900ss (900ss)


Lesenswert?

Michael K. schrieb:
> funktioniert es nicht wie erhofft

Ich vermute, du hast den passenden USB-Treiber nicht installiert? So wie 
hier beschrieben?
https://www.ehajo.de/dokuwiki/bausaetze:usp-mkii:anleitung#treiber

Ansonsten kannst du noch unter "Additional command line args" ein "-v" 
mit angeben, dann wird AVRDUDE etwas gesprächiger.

von Michael Kies (Gast)


Lesenswert?

Doch doch, den Treiber musste ich schon für Atmel Studio installieren.
Ich probiere das mal mit dem -v

von Frank G. (frank_g53)


Angehängte Dateien:

Lesenswert?

Aus dem Datenblatt deines Programmers:
Er ist 100% kompatibel mit Atmelstudio (Ab v6.2) und avrdude (ab v6.0), 
kann daher direkt in gängigen Softwaren verwendet werden, wie:

Atmelstudio
Arduino
LunaAVR
avrdudess

Daher probiere es doch direkt in Atmel Studio.
Du brauchst dafür nur den Abschnitt "Device programming".
Bei "Tool" wählst du dein Programmiergerät aus.
(Vorher bei "Add Target" im Menü "Tool" hinzufügen).
Bei "Device" den richtigen Controller einstellen.

Unter "Fuses" die fuse-Einstellungen auslesen und evtl. anpassen.
Unter "Memories" die Hex-Datei aussuchen und mit "Program" brennen.

Im Anhang den Ausschnitt "Device Programming".

Mit Amtel-Studio brenne ich immer, damit gibt es selten Probleme.

: Bearbeitet durch User
von 900ss (900ss)


Lesenswert?

Frank G. schrieb:
> Du brauchst dafür nur

Das solte mit AVRDUDE in Verbindng mit AVRDUDESS genauso einfach 
funktionieren ;)

Hat für meinen Geschmack den Vorteil ,dass man nicht so ein überladenes 
Studio installieren muss. Und das nur um ein Binary zu flashen.

Edit: Ah, er hat ja schon ATMEL Studio installiert.

: Bearbeitet durch User
von 900ss (900ss)


Lesenswert?

Die Fehlermeldung deutet auch eher auf ein Problem zum Target hin. 
AVRDUDE scheint den Programmer zu finden.

Sind die Verbindungen zwischen Programmer und CPU richtig?

von Michael K. (michaelkies)


Lesenswert?

MOSI, MISO, Clock und Reset gehen 1:1 vom Programmer auf den Chip. Ein 
Adurino versorgt den Chip mit 5V und GND. Ein 16MHz Quarz hängt am Pin 
12/13 und wird mit zwei 22pF Kerkos gegen GND geschaltet. Mit Studio 
konnte ich den Chiptyp und die Fuses auslesen. Ich denke die Verbindung 
stimmt.

: Bearbeitet durch User
von ooops (Gast)


Lesenswert?

Michael K. schrieb:
> Ich denke die Verbindung stimmt.

Hast du einen freifliegenden Aufbau oder ist dein Controller
bereits irgendwo eingebaut? Für ersteres würde ein Foto deines
Aufbaus nützlich sein.

von Falk B. (falk)


Lesenswert?

Michael K. schrieb:
> Mit Studio
> konnte ich den Chiptyp und die Fuses auslesen.

UNd was hindert dich dann, damit das HEX-File zu programmieren?

von Michael Kies (Gast)


Lesenswert?

Ich habe nichts gefunden wo ich meine Datei einfügen konnte und auch 
keinen Programm Button.

Hab dann bei Youtube nach passenden Tutorials gesucht und bin dann 
irgendwann bei AVRDudess gelandet.

In 20 Minuten bin ich wieder am Rechner und werde nochmal schauen.

von Michael K. (michaelkies)


Angehängte Dateien:

Lesenswert?

Also,

vielen Dank an alle die geantwortet haben.
Mit den Infos von Frank G. und Studio habe ich es glaube hinbekommen. 
Jetzt muss ich noch schauen, was ich mit den Fuses machen muss.

Hier mal ein Bild meines Aufbaus:

Gruß,
Michael

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Michael Kies schrieb:
> Ich habe nichts gefunden wo ich meine Datei einfügen konnte und auch
> keinen Programm Button.

Willst du uns verarschen?
Du sagt, daß du angeblich die Fuses auslesen kannst, aber nicht das 
Fenster zum Flash programmieren findest?

> Hab dann bei Youtube nach passenden Tutorials gesucht und bin dann
> irgendwann bei AVRDudess gelandet.

OMG!

Zeigt mal einen Screenshot deines Atmelstudios. Ich hab das etwas ältere 
6.2, da sieht das so aus.

von ooops (Gast)


Lesenswert?

Michael K. schrieb:
> Hier mal ein Bild meines Aufbaus:

Da fehlen fahrlässigerweise die Abblock-Kondensatoren. Kein
Wunder also dass da ab und zu mal was geht und dann wieder
nicht.

Übliche Strafe für fehlende Abblock-Kondensatoren: Auspeitschen.

Und sage bitte nicht "es geht ja auch ohne"! Ach so, du weisst
nicht was Abblock-Kondensatoren sind und wo sie hingehören?

von Michael K. (michaelkies)


Angehängte Dateien:

Lesenswert?

Also ich bin einen Schritt weiter. Ich hab mal passende Abblock 
Kodensatoren gesteckt und seither funktioniert auch AVRDUE. Ich habe 
aber mit Studio weiter gearbeitet.

Vom Programmierer habe ich Informationen erhalten, wie er die Fuses 
gesetzt hat (siehe Screenshot). Ich habe die dann in Studio auch gesetzt 
bis auf das Bit, dass die serielle Kommunikation abschaltet.

Ich hab also erst die Fuses gesetzt und dann das Hex file geschrieben.
Passt das aus eurer Sicht?

Gruß,
Michael

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Michael K. schrieb:
> Also ich bin einen Schritt weiter. Ich hab mal passende Abblock
> Kodensatoren gesteckt und seither funktioniert auch AVRDUE. Ich habe
> aber mit Studio weiter gearbeitet.
>
> Vom Programmierer habe ich Informationen erhalten, wie er die Fuses
> gesetzt hat (siehe Screenshot). Ich habe die dann in Studio auch gesetzt
> bis auf das Bit, dass die serielle Kommunikation abschaltet.

Naja, je nachdem was an den Pins wo dran hängt, willst du JTAG lieber 
ausschalten, also KEINEN Haken setzen. Sonst sind die Pins im Programm 
nicht verfügbar. JTAG brauchst du sowieso nicht.

> Ich hab also erst die Fuses gesetzt und dann das Hex file geschrieben.
> Passt das aus eurer Sicht?

Ja. Wenn du dir einen Gefallen tun willst, erstellst du ein .elf File 
mit dem Programm + Fuses. Dann musst du beim nächsten Mal nicht mehr 
nachdenken. Eigentlich sollte das dein Programmierer machen.
Einfach deinen programmierten IC mit gesetzten Fuses nehmen, diese 
nochmal lesen, dann im Menu links "Production file" auswählen. Flash und 
ggf. eeprom File auswählen, unten die Haken bei Flash und Fuses setzen 
und "SAVE" drücken. Um zu prüfen, ob das .elf File korrekt funktioniert, 
programmiert man es gleich mal ein, einfach oben im Fenster auswählen, 
die Haken bei Flash und Fuses setzen und "PROGRAMM" drücken.

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.