Forum: Compiler & IDEs Flashen über Komandozeile


von Daniel S. (enton)


Lesenswert?

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

von Gast (Gast)


Lesenswert?

Ein bischen mehr Informationen währen nicht schlecht.

z.B. Welche Entwicklungsumgebung benutzt du...

von Daniel S. (enton)


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

von holger (Gast)


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 ?)

von Peter D. (peda)


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

von Daniel S. (enton)


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)?

von Stefan B. (stefan) Benutzerseite


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
1
Vorsicht: Beim BlueMP3 ISP Programmer ist unbedingt darauf 
2
zu achten zuerst den c't-Bot (bzw. das zu programmierende 
3
Targetboard) einzuschalten und dann den ISP Steckverbinder 
4
zu stecken. Und nach dem Flashen zuerst den ISP Steckverbinder 
5
zu ziehen und dann den c't-Bot (bzw. das zu programmierende 
6
Targetboard) auszuschalten. Sonst riskiert man, das die LPT 
7
Schnittstelle des PCs zerstört wird. Bei anderen STK200 
8
kompatiblen Programmern mit eingebauter Schutzdiode besteht 
9
diese Gefahr nicht.

von Daniel S. (enton)


Angehängte Dateien:

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

von Daniel S. (enton)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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%.

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.