Erste schritte AVRGCC +AVR studio

Gast #178048
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
Gast #178051
>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
Gast #178053
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;
}
Gast #178054
,,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.
Gast #178057
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
Gast #178058
> 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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.