- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Fehler beim kompilieren des Beispielprogramms

  1. #1

    Fehler beim kompilieren des Beispielprogramms

    Anzeige

    Praxistest und DIY Projekte
    Servus miteinander,

    ich habe vor ein paar Tagen meinen Asuro zusammengebaut und wollte ihn nun mit Hilfe der mitgelieferten Software kompilieren.

    Das Programm lautet:

    #include "asuro.h"

    int main(void)
    {
    Init();
    StatusLED(RED);

    while(1);
    return 0;
    }


    Nun bekam ich bei Programmers Notepad die Fehlermeldung:



    > "make.exe" all
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
    [ -s asuro.d ] || rm -f asuro.d
    0 [main] sh 8176 sync_with_child: child 4508(0x16C) died before initialization with status code 0xC0000142
    47426 [main] sh 8176 sync_with_child: *** child state waiting for longjmp
    /usr/bin/sh: fork: Resource temporarily unavailable
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
    [ -s test.d ] || rm -f test.d
    0 [main] sh 3616 sync_with_child: child 8012(0x17 died before initialization with status code 0xC0000142
    10780 [main] sh 3616 sync_with_child: *** child state waiting for longjmp
    /usr/bin/sh: fork: Resource temporarily unavailable
    -------- begin --------
    avr-gcc --version
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 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.

    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    In file included from asuro.h:34,
    from test.c:1:
    c:/winavr-20100110/lib/gcc/../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
    test.c: In function 'main':
    test.c:8: error: too few arguments to function 'BackLED'
    make.exe: *** [test.o] Error 1

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




    Im Internet habe ich gelesen, dass diese Version bei Windows 10 Probleme macht. Deswegen habe ich mir AVR Studio5.1 herunter geladen.
    Dort wähle ich als neues Projekt AVRGCC Executable Projekt aus und Wähle den ATmega8. Hier erhalte ich bei dem oben genannten Programm folgende Fehlermeldung:

    Error 1 asuro.h: No such file or Directory


    Ich denke, ich muss die asuro.h bib irgendwie einbinden??? Allerding konnte ich nicht heraus finden wie.

    ich hoffe ihr könnt mir Helfen.

    Gruß

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Hallo,

    die WinAVR-Toolchain die mit dem ASURO kommt ist ein Fall fürs Museum. Mit dem neuen AVR Studio (oder der von Atmel auch separat erhältlichen AVR Toolchain) bist du schon Mal auf dem richtigen weg. Aber auch die ASURO-Bibliothek ist in die Jahre gekommen. Es gibt modernere Alternativen die auch zusätzliche Funktionalität bieten.

    mfG,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Hi,

    ich komme irgendwie nicht so ganz klar.
    Ist das AVR Studio 5.1 das richtige Programm? ich verstehe nicht, wie und ob ich die ASURO-BIBs einfügen muss.

    Nun habe ich mir noch das Asuro Flash runtergeladen. Leider funktioniert es damit auch nicht.

    was muss ich nur tun?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Mit AVR Studio kannst du arbeiten. Du kannst aber auch die AVR Toolchain alleine herunterladen (als Ersatz für das steinalte WinAVR) und weiter Programmers Notepad (oder was auch immer du sonst bevorzugst) nutzen.

    Wie du die ASURO-Bibliotheken verwendest, steht in deren Dokumentation. Nimm dir die Zeit diese durchzulesen und dann Fragen zu stellen wenn etwas unklar ist. Es läuft in jedem Fall darauf hinaus, dass du mit Makefiles arbeitest, auch deren Verwendung wird erklärt. Das AVR Studio mit seinen Automatismen wird dir nicht viel weiterhelfen können. (Das ist streng genommen nicht ganz war, du kannst eine, wenn nicht sogar beide der verlinkten Bibliotheken auch als Quelltext direkt in dein Projekt einbinden, dann kümmert sich AVR Studio um das compilieren). Von der Auto-Vervollständigung und ähnlichen Hilfsmitteln kannst du aber trotzdem profitieren

    ASURO Flash hat damit erst einmal nichts zu tun. Das benötigst du um das fertige Programm auf den ASURO hochzuladen.

    Eine sehr wichtige Lektion ist übrigens auch zu lernen, Fehler und Probleme richtig zu beschreiben. "Leider funktioniert es damit auch nicht" ist keine Fehlerbeschreibung

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  5. #5
    Servus,

    nun habe ich mit dem AVR Studio 5.1 die asuro.h und die asuro.c bib eingefügt.

    Allerdings erscheint nun bei folgendem Programm:

    #include "asuro.h"

    int main(void)
    {
    Init();

    StatusLED(GREEN);

    while(1);
    return 0;
    }

    folgender Fehlertext:

    Error 1 undefined reference to `StatusLED'

    Könnt ihr mir hier weiterhelfen?
    Die StatusLED wird doch in den zwei bibs definiert?

    Gruß

    - - - Aktualisiert - - -

    ...nun habe ich den benötigten Teil aus der ausro.c bib herausgezogen und direkt in asuro.c eingefügt:

    #include "asuro.h"

    int main(void)
    {

    StatusLED(RED);

    while(1)
    {
    //TODO:: Please write your application code
    }



    }

    inline void StatusLED(unsigned char color)
    {
    if (color == OFF) {GREEN_LED_OFF; RED_LED_OFF;}
    if (color == GREEN) {GREEN_LED_ON; RED_LED_OFF;}
    if (color == YELLOW) {GREEN_LED_ON; RED_LED_ON;}
    if (color == RED) {GREEN_LED_OFF; RED_LED_ON;}
    }

    nun konnte ich es kompilieren. Ich verstehe nur nicht, wieso es nun funktioniert? Die asuro.h wird doch aufgerufen??

    Gruß

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Zitat Zitat von Cookie90 Beitrag anzeigen
    nun habe ich mit dem AVR Studio 5.1 die asuro.h und die asuro.c bib eingefügt.
    Zuerst zur Bezeichnung: asuro.h und asuro.c sind keine Bibliotheken, das Gesamtsystem bildet eine Bibliothek.
    Dann: Welche asuro.h, welche asuro.c verwendest du? Du musst uns mehr Informationen geben wenn du Hilfe möchtest.

    Zitat Zitat von Cookie90 Beitrag anzeigen
    Allerdings erscheint nun bei folgendem Programm:

    [..]

    folgender Fehlertext:

    Error 1 undefined reference to `StatusLED'

    Könnt ihr mir hier weiterhelfen?
    Ich weiß nicht was du genau gemacht hast, der Code selbst sieht vernünftig aus. Vermutlich liegt es an der Art und Weise, wie du die beiden Dateien "eingefügt" hast. Gab es vorher keine anderen Fehlermeldungen? Wenn in asuro.h StatusLED deklariert wird, muss vorher bereits etwas anderes (wie das include) fehlgeschlagen sein.

    Zitat Zitat von Cookie90 Beitrag anzeigen
    Ich verstehe nur nicht, wieso es nun funktioniert? Die asuro.h wird doch aufgerufen??
    Nochmal Sprachregelung: asuro.h wird nicht aufgerufen sondern eingebunden.

    mfG,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

Ähnliche Themen

  1. Fehler beim Kompilieren
    Von Quäse im Forum Asuro
    Antworten: 8
    Letzter Beitrag: 24.06.2014, 14:35
  2. Enable Urxc macht fehler beim kompilieren
    Von olby2 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 15.09.2009, 16:55
  3. fehler beim kompilieren
    Von smusmut im Forum Robby RP6
    Antworten: 12
    Letzter Beitrag: 24.04.2009, 23:50
  4. Fehler beim kompilieren von LCD-Programmen
    Von Vistakiller im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 01.08.2008, 17:39
  5. Fehler beim Kompilieren
    Von jvbsl im Forum Robby RP6
    Antworten: 16
    Letzter Beitrag: 14.07.2008, 17:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen