www.mikrocontroller.net

Forum: Compiler & IDEs Flashen über Komandozeile


Autor: Daniel Schillinger (enton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Kann mir jemand sagen, was ich in die Komandozeile eingeben muss, um 
eine .elf Datei auf einen Atmega32 zu flashen.( ohne Makefile)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein bischen mehr Informationen währen nicht schlecht.

z.B. Welche Entwicklungsumgebung benutzt du...

Autor: Daniel Schillinger (enton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze keine Entwicklungsumgebung.
Ich schreibe mir ein C- File(main.c) in Notepad++ und erzeuge mir über 
folgende Eingabe:
avr-gcc -O2 -mmcu=atmega32 main.c -o main.elf
ein .elf File.
Das muss ich dann irgendwie per Befehl über die Komandozeile auf den 
Atmega flashen können.
Diesen Befehl bräuchte ich.

Gruß Daniel

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ein .elf File.

Ein .elf File kannst du nicht in den uC flashen.
Du brauchst ein .hex oder .bin File.

>Das muss ich dann irgendwie per Befehl über die Komandozeile auf den
>Atmega flashen können.
>Diesen Befehl bräuchte ich.

avrdude mit Parametern für deinen Prommer (welcher ?)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel Schillinger wrote:

> Das muss ich dann irgendwie per Befehl über die Komandozeile auf den
> Atmega flashen können.

Ich weiß ja nicht, ob Deine Kommandozeile so lang ist, daß sie bis zum 
AVR reicht.

Du brauchst in jedem Fall eine Programmierhardware und die muß irgendwie 
mit dem PC verbunden sein.
Und dann hast Du zu dieser Hardware ein passendes Frontend, mit dem Du 
ein Hex-File einlesen und flashen kannst.

Ein PC ohne irgendwas kann das jedenfalls nicht, er hat keinen "Befehl" 
dafür.


Peter

Autor: Daniel Schillinger (enton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten, jetzt bin ich schon mal einen Schritt weiter.

Jetzt stellen sich aber 2 neue Fragen:
1) wie erzeuge ich ein Hex File
2) Ich weiß nicht genau, was ich für nen Programmieradapter habe.
Ich hab den vom BlueMP3 Projekt(http://www.bluemp3.de/).
Da steht aber nicht dabei was das für ein Typ ist.
Wäre es möglich , in WinAVR in mfile einfach mal alle Typen durch zu 
probieren, bis einer funktioniert?
Oder kann man da was kaputt machen, wenn man den falschen Adapter 
einstellt( z.B. weil die Pin Belegung anderst ist, oder so)?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1/ Daniel, das steht doch alles im AVR-GCC-Tutorial. Über den Weg 
Kommandozeile macht das fast keiner mehr. Normalerweise benützen die 
Leute eine bequeme Entwicklungsumgebung mit einem vernünftigen 
MAKE-Tool.

2/ Der Programmieradapter vom BLUEMP3-Projekt ist ein einfacher AVRISP 
I/O für den Parallelport aka STK200-kompatibler ISP.
http://www.heise.de/ct/Redaktion/cm/klangcomputer/index1.htm

Wie man damit und der AVRDUDE Software umgeht steht u.a. hier: 
http://wiki.ctbot.de/index.php/AVR_ISP_Programmer
Vorsicht: Beim BlueMP3 ISP Programmer ist unbedingt darauf 
zu achten zuerst den c't-Bot (bzw. das zu programmierende 
Targetboard) einzuschalten und dann den ISP Steckverbinder 
zu stecken. Und nach dem Flashen zuerst den ISP Steckverbinder 
zu ziehen und dann den c't-Bot (bzw. das zu programmierende 
Targetboard) auszuschalten. Sonst riskiert man, das die LPT 
Schnittstelle des PCs zerstört wird. Bei anderen STK200 
kompatiblen Programmern mit eingebauter Schutzdiode besteht 
diese Gefahr nicht. 

Autor: Daniel Schillinger (enton)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Makefile habe ich schon probiert.
Habs auf ganze 17 errors geschaft.(Fehlermeldung als Bitmap, die main.c 
Datei und das makeFile sind im Anhang).
Ich hab in mfile fogendes eingestellt:
mcu=atmega32
output format= ihex
optimization level=s
debug format=ELF/DWARF2
c standard level = gnu99
printf() options=none/standard
scanf() options=none/standard
External Ram options=none
programmes=stk200
port=ltp1(hab nur einen ltp Port,das ist also nicht der fehler)

Bin in der Komadozeile auf C:\> gegangen und habe dann make all 
eingegeben.
Hat jemand ne Idee, wo der Fehler liegen könnte?
Wäre es eventuell auch möglich, das der Fehler dadurch zu stande kommt, 
das die Platine mit dem atmega nicht funktioniert( wollte sie hiermit 
eigentlich testen), oder ist das bei make all egal, da  ja noch nichts 
geflasht wird?

Wäre für Hilfe sehr dankbar, da ich keine Ahnung habe, was da falsch 
läuft.

Gruß Daniel

Autor: Daniel Schillinger (enton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem hat sich geklärt.
Der gcc Compiler hat sich mit dem Borland Compiler nicht so ganz 
vertragen.
Seit dem ich den Borland Compiler deinstaliert habe klappt es mit dem 
make all.
Danke nochmal für eure Hilfe.

Daniel

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht die Compiler ,,haben sich nicht vertragen'', sondern du hast
zwei völlig verschiedene Versionen von make.exe gehabt, die sich in
ihrer Syntax eben doch gewaltig unterscheiden.  Für das WinAVR-Makefile
war dann das falsche make.exe zuerst im %PATH%.

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.