mikrocontroller.net

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


Autor: Isidor Graf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: Isidor Graf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.