Forum: Compiler & IDEs Flash&EEprom in einem durchgang in WINAVR(AVRDUDE) brennen


von Isidor Graf (Gast)


Lesenswert?

Hallo zusammen

Ich möchte gerne aus dem Programmers Notepad heraus direkt den Flash
und den EEprom speicher in einem durchgang brennen wenn ich Program im
Programmers Notepad auswähle.
Zur info ich habe auch schon den Eintrag im Makefile aktiviert und ihm
das richtige File zu gewiesen wie ich das möchte:
AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(EEprom).hex

Das Problem besteht einzig im Aufruf
1. Version funktioniert nicht
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS)
$(AVRDUDE_WRITE_EEPROM)$(AVRDUDE_WRITE_FLASH)

weil er dann einfach zweimal "-U:x:x" hintereinander ausgibt in der
Kommando Zeile und das versteht AVRDUDE anscheinend nicht.

2.Version funktioniert auch nicht
program: $(TARGET).hex $(TARGET).eep
  $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
program: $(EEprom).hex
  $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_EEPROM)
zweimal das key-word program kann ich nicht verwenden, wenn doch wird
einfach der erste "program" Block ignoriert.


Weiss irgend jemand eine einfach Lösung für diese Problem?

MFG

isidor graf

PS: Es wäre durchaus möglich das ich einen Beitrag in der FAQ übersehen
habe wenn dann.... sorry :-)

von Jörg Wunsch (Gast)


Lesenswert?

Geht nicht?  Welche Fehlermeldung?  Die Kommandozeile, da da beim make
rauskommt, wäre auch ganz hilfreich zu sehen (make echot sie ja vor
der Ausführung).  Zweimal -U sollte sehr wohl funktionieren.

Für Deine zweite Variante solltest Du ein wenig verstehen, wie make
funktioniert.  Dazu braucht's wohl nichtmal das Studium des Manuals,
z. B. das "clean" Target benutzt bereits mehrere Kommandos.
`program'
ist kein ,,Schlüsselwort'', sondern nennt sich `target'.  Zu jedem
Target folgen anschließend, mit einem TAB eingerückt, die zugehörigen
Kommandos -- beliebig viele, bis eine Zeile erreicht wird, die nicht
mehr mit TAB beginnt.  Du darfst aber natürlich den Namen des Targets
selbst nur einmal im Makefile haben (*).

Schließlich, einfach die EESAVE Fuse bei den neueren ATmegas setzen,
und Du kannst Dir den ganzen Zirkus auch ganz sparen, weil der EEPROM
dann einen chip erase überlebt.

(*) Es gibt davon wiederum eine Ausnahme, aber das rauszufinden,
würde ich Dich wirklich aufs Manual verweisen. ;-)

von Isidor Graf (Gast)


Lesenswert?

Danke für die Prompte Antwort.

ich habe glaub ich das hauptproblem entdeckt der "uralt" AVRISP
Programmer spuckt keine keine Norm Intel-Hex Dateien aus darum wird er
wohl unteranderem so gejammert haben.
Ach ja das mit dem ,,Schlüsselwort'' tut mir leid... es ist mier
einfach nicht das richtige dazu eingefallen aber danke für die
korrektur :-)

Und das mit dem EESAVE werd ich dann mal ausprobieren mal schauen was
sich so tuut.

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.