www.mikrocontroller.net

Forum: Compiler & IDEs Erste schritte AVRGCC +AVR studio


Autor: Steffen Brüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo.

ich wage grad erste schritte mit der c programmierung bei
Microcontrollern
ich benutze einen atmega 16L auf nem STK 500.
das Programmieren mit assembler hat funktioniert. ( blinke-blinke led
;))

nun möchte ich mich etwas mit c beschäftigen.
leider funktioniert das beispielprogramm
#include <io.h>

int main(void){

    int i;

    outp(0xff, DDRB);  //Port B = Output
    outp(0x00, DDRA);  //Port A = Input
    for(;;){            //loop
        i=inp(PINA);
        outp(i, PORTB);
    }
}

nicht. :(
im makefile ist der atmega 16 eingetragen.

ellerdings gibts beim build ne fehlermeldung die ich nicht entziffern
kann :
avr-gcc -c -g-Os -Wall-prototypes -Wa,-ahlms=gtest1.lst -mmcu=atmega16
-I. gcctest1^.c -o gcctest1.o

process_easy: DublicateHandle(In) failed(e=6)
make:Interrupt/Exception cought (code = 0xc0000005, addr = 0x4163a4)

die erste zeile schient der compileraufruf wie man in unter dos
anstöst.
der rest sagt mir herzlich wenig.

bin für jeden tip dankbar.

gruß

steffen

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-I. gcctest1^.c -o gcctest1.o

Der Akzent im Dateinamen  ^ gehört sicher nicht dahin?
Neueste WINAVR-Version installiert?

Stefan

Autor: Steffen Brüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja das ^muss da weg g

winavr hab ich das neueste. aber das hat doch mit avr-studio und gcc
nix zu tun oder?

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>winavr hab ich das neueste. aber das hat doch mit avr-studio und gcc
>nix zu tun oder?

mhhh ... welchen gcc benutzt Du denn, wenn nicht den aus dem
WINAVR-Package?

Stefan

Autor: Steffen Brüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
steht in der headline avr-gcc ;)
der wurde überall angepriesen

steffen

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
outp und inp solltest du nicht mehr verwenden, die sind veraltet.

Du kannst die Ports wie Variablen behandeln, also z.B. so:
int main(void)
{
    DDRB = 0xFF;  //Port B = Output
    DDRA = 0x00;  //Port A = Input
    for(;;)       //loop
        PORTB = PINA;
}

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
,,der avr-gcc'', den Du hier wohl hast, ist hemmungslos veraltet.

Hau wech.  Hol Dir ein aktuelles WinAVR.  Hau bei dieser Gelegenheit
auch gleich noch die ebenso hornalten gcctest-Beispiele weg und fang
mit den mitgelieferten aktuellen Beispielen an.

Autor: Steffen Brüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok.. ich hau wech.
:(

alles liebevol zusammengesucht schnüff

gruß steffen

Autor: Steffen Brüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
winavr hab ich die version vom 20.7.2004 ist das neu genug?

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pruuust - aber geht mir auch oft so ;-)
20.7.2004 ist die (meines Wissens) aktuelle Version. Es ist ein
Beispiel-Makefile dabei (von Jörg, danke!), dass ich Dir sehr empfehlen
kann.
>der wurde überall angepriesen
Zu Recht. Ich bin immer wieder positiv überrascht.

Viel Spass, Stefan

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es ist ein Beispiel-Makefile dabei (von Jörg, danke!), ...

Nein, der größere Teil dürfte von Eric selbst sein.  Was von mir ist
ist Mfile, aus der Erkenntnis heraus, daß man neben Compiler und
Library nicht noch zum Einstieg die ersten 5 Kapitel der Dokumentation
von »make« lesen müssen sollte, sondern sich diese (auch meiner
Meinung nach unumgängliche) Aufgabe für etwas später aufheben darf,
damit man erstmal ein Erfolgserlebnis verbuchen kann. ;-)  (Außerdem
habe ich irgendwann mal festgestellt, daß 95 % meiner Makefiles für
Mini-Projekte nach demselben Schema aufgebaut sind, so daß man deren
Erstellung ebenfalls automatisieren kann.)

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.