mikrocontroller.net

Forum: Compiler & IDEs Makefile???


Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy

JA ich habe mir die Anleitung vonAVR-GCc durchgelesen...

HAbe aber etwas nicht so richtig verstanden und hoffe das mir jemand 
helfen kann.

Wen ich eine C Datei schreibe wie z.B.:
#include <utils/delay.h>
#include <avr/io.h>
#include <stdint.h>
 
int main(void)
{
DDRD = 0xff;

PORTD = 0 0x03;

while(1)
{
}
return 0;

das ganze schreibe ich im WIN AVR (Programmers Notepad)

so und jetzt möchte ich das in einen ATTiny2313 übertragen
mein µc ist auf dem ATMEL Evaluations- Board Version 2.0 von Pollin.
Ich möchte ihn über die serielle Schnitstelle COM 1 programieren

Wie mus da meine Makefile aussehen?
Wie gehe ich dan weiter vor wenn ich das Programm dan in den µC laden 
will?
Geht das direkt im Programmers Notepad oder brauche ich da wider eine 
andere Software wie z.B.: pony prog oder ähnliches??

ICh weis das das Anfängerfragen sind aber irgend wann muss man ja 
anfangen...,*gg**


danke im Voraus Richard R.

Autor: Stefan B. (stefan) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das passende Makefile erstellst du am besten mit dem MFILE Tool aus dem 
WinAVR-Paket. Ein Beispiel ist im Anhang. Dieses Beispiel setzt voraus, 
dass deine Sourcecodedatei main.c heisst.

Durch das Compilieren und Linken wird aus der Sourcecodedatei main.c bei 
erfolgreicher Übersetzung eine Objektdatei main.elf und eine Datei 
main.hex. In deinem Beispiel fehlt u.a. noch die abschliessende }, d.h. 
die Übersetzung scheitert erstmal.

Die Datei main.hex ist zur Übertragung in das Flash-ROM des µC gedacht. 
Die Übertragung kannst du mit PonyProg und mit AVRDUDE (aus dem 
WinAVR-Paket) machen.

Im obigen Makefile ist die Voreinstellung für AVRDUDE bereits drin. 
Innerhalb von Programmers Notepad kannst du nach dem Übersetzen (make 
all) direkt üvertragen (make program). Voraussetzung ist die korrekte 
Installation von AVRDUDE, d.h. die Installation von giveio.sys laut 
AVRDUDE Anleitung mit dem Batchfile install_giveio.bat.

Alternativ kannst du mit PonyProg ausserhalb von Programmers Notepad 
übertragen.

Mehr Infos zum - nicht immer unproblematischen - Pollinboard findest du 
u.a. hier:
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?...
http://f3.webmart.de/f.cfm?id=1663923&t=2737001&pg...

Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy

danke für das Makefile und di infos

An der stelle mus ich mal loswerden wie toll das Forum und seine 
Toturials sind.

Noch ne Frage:
Kan ich das Gleiche Makefile für andere AVR am pollin Board verwenden 
wen ich die Zeile

MCU = attiny2313

in Beispielweise

MCU = atmega8 oder 32 etc  ändere

Lg Richard


Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das geht. Achte auf die richtige Schreibweise bzw. schau in MFILE 
nach, wie es dort geschrieben wird.

Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HY Ich hab noch ne frage

wo bekomme ich den AVRDUDE und wie stelle ich den richtig ein??

Bin schon am verzweifeln i versuche schon seit 2 Wochen meinen 
ATTiny2313 am Pollin Board zu programieren und ich schaff das nicht.

Also nochmal von anfang an:

Ich habe das obrige Programm (mit } zum Schluss) im Programmese Notepad 
erstellt. Und das Makefile von Srefan in den gleichen Ordner kopiert.
und dan bin ich auf Tools--> Make All und der macht nichts. zumindest 
nur das.

> "make.exe" all

-------- begin --------
avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.


Compiling C: main.c
avr-gcc -c -mmcu=attiny2313 -I. -gdwarf-2 -DF_CPU=1000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=./main.lst  -std=gnu99 -Wundef -MMD -MP 
-MF .dep/main.o.d main.c -o main.o
main.c:1:25: warning: utils/delay.h: No such file or directory
main.c: In function 'main':
main.c:9: error: expected ';' before numeric constant
main.c:15:2: warning: no newline at end of file
make.exe: *** [main.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:00



Ich hab keine ahnung was der von mir will gg
Wie gesagt ich bin kompleter AVR Neuling und habe mir auch das Toturial 
Durchgelesen aber das kan mir meine Frage auch nicht beantworten.

Vl weis ja jemand was ich für einen Fehler mache...

Lg Richard

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richard wrote:
> wo bekomme ich den AVRDUDE und wie stelle ich den richtig ein??
Wird bei WinAVR mitgeliefert, ist also "schon da". Einstellungen siehe 
makefile-Vorlage (WinAVR/sample, mfile). Für das Pollin-Board ist meines 
Wissen Programmer-Type ponyser einzustellen.

> main.c:9: error: expected ';' before numeric constant
Falls das die Zeile PORTD = 0 0x03; aus dem Code oben ist. Die ist 
syntaktisch falsch. Entweder PORTD = 0; oder PORTD = 0x03;

> main.c:15:2: warning: no newline at end of file
"Nur" eine Warnung, einfach das ergänzen was fehlt, also eine Leerzeile 
am Ende einfügen.

gcc Fehlermeldungen sind manchmal etwas spärlich aber in dem Fall steht 
eigentlich alles da - vielleicht Englischkentnisse etwas auffrischen.

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

Bewertung
0 lesenswert
nicht lesenswert
> main.c:1:25: warning: utils/delay.h: No such file or directory

util/delay.h (ohne ,s')

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.