-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Ich werde Irre.... ;) :(

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1

    Ich werde Irre.... ;) :(

    Anzeige

    Nach langem habe ich mal wieder meinen Asuro ausgekramt, weil ich damals nicht mt klar kam irgend ein eigenes Programm zu schreiben. Nach dem ich mich nun mit AVR/Arduino/ARV Studio gefestigt hatte kommen doch immer wieder Fehlermeldungen im AVR Studio beim Compilierversuch, selsbt bei einfachten programmen nur mal eben um ne LED zu schalten oder so:
    Code:
    C:\ASURO_src\asu_test1\default/../asu_test1.c:13: undefined reference to `Init'
    C:\ASURO_src\asu_test1\default/../asu_test1.c:18: undefined reference to `StatusLED'
    C:\ASURO_src\asu_test1\default/../asu_test1.c:21: undefined reference to `Sleep'
    C:\ASURO_src\asu_test1\default/../asu_test1.c:23: undefined reference to `StatusLED'
    C:\ASURO_src\asu_test1\default/../asu_test1.c:26: undefined reference to `Sleep'
    was mache ich nur falsch...?
    Code:
    #include "asuro.h"  // liegt im selben Verzeichnis
    // Testlauf der StatusLED
    // beim ASURO
    #include <avr/io.h>
    #include <avr/interrupt.h>
    //#include <avr/signal.h>
    #include <stdlib.h>
    
    int main (void)
    
    {
    unsigned int i;
    Init();
    
    while(1)
        {
    
        StatusLED(RED);
        for (i= 0;i < 255;i++)
            {
            Sleep(255);
            }
        StatusLED(GREEN);
        for (i= 0;i < 255;i++)
            {
            Sleep(255);
            }
        }    
    return 0;
    }
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    In den Projektoptionen des AVR-Studio den Pfad zur asuro.h angegeben ?

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Danke vielmals !!
    ja habe ich , ich habe den ganzen nachmittag schon recherchiert im Web, Libs runtergezogen die neusten usw... Wenn ich nicht auch andere AVR-Studio"fremde" Sachen damit schon erstellt hätte, würde ich sagen in kann das AVR Studio nicht bedienen, will damit nicht sagen, das ich darin vollendet bzw unfehlbar bin !

    Ich habe das ganze asuro_src hinund her geschoben, mit ext. Makefile angepasst, auch nicht ohne Fehler...beim compilieren...es gibt ja viele Anleitungen im Web, nur funktionierte keine..oder Leute die selben Aerger hatten schrieben zulöetzt es geht , aber nicht die Ursache warum ..bzw warum nicht vorher..
    nun habe ich nochmals die neusten Versionen installiert und wieder kommt bei der AsuroLib-Installation , kein WINAVR installiert.. das andere bleibt wie gehabt beim Compilieren. Den Pfad zur Asurolib habe ich auch angegeben...aber wenns mich zu lange nervt dann...gar nix dan kommt er wieder in die Verbannung, ist nur schade das ausser dem testprogramm noch nix darauf gelaufen ist....
    Na mal sehen, wie viel Zeit mir dafür noch bleibt daran zu tüfteln , vom konkreten Vorgehen kann schon nicht mehr die Rede sein..

    Dank und Gruss

    Gerhard
    Nach Neuinstallation von AsuroLib und Winavr kommt nun noch folgendes:
    Code:
    Loaded plugin STK500
    GCC plug-in: No AVR Toolchain installation found. Using WinAVR instead if installed. 
    The AVR GCC plug-in can still be used if you set up your own build tools.
    Loaded plugin AVR GCC
    Loaded partfile: C:\Programme\Atmel\AVR Tools\PartDescriptionFiles\ATmega8.xml
    Geändert von oderlachs (29.01.2013 um 21:17 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.401
    Ich kenne den Asuro nicht, was ich sehe ist ein C-Problem.

    C:\ASURO_src\asu_test1\default/../asu_test1.c:13: undefined reference to `Init'
    C:\ASURO_src\asu_test1\default/../asu_test1.c:18: undefined reference to `StatusLED'
    Der Compiler kennt die Funktion Init() oder StatusLED() nicht. In deinem gezeigten Code finde ich sie auch nicht. Ich vermute, daß sie zum Asuro gehören. Dann sollten sie aber in irgendeinem Headerfile dem Compiler bekannt gemacht werden. In deinen Includes sehe ich aber nur Includes im Umfeld der C-Library oder von AVR, aber nichts von Asuro. Ich denke da fehlt was.

    Das nächste Problem, wenn das in Ordnung ist, wird der Linker machen. Der will nämlich auch wissen, in welchem Libraryfile er diese Funktionen findet.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Klebwax Beitrag anzeigen
    In deinem gezeigten Code finde ich sie auch nicht. Ich vermute, daß sie zum Asuro gehören.
    Im gezeigten Code wird die asuro.h ganz zu Anfang eingebunden. Eine kurze Googlesuche ergibt, dass in der asuro.h die vermissten Funktionen deklariert sind, welche der Compiler bemängelt. Daraus wird klar, dass er die asuro.h nicht findet, darum schrieb ich, ob der Pfad zu selbiger dem Compiler bekannt ist. Gleichzeitig dürfte weitere Fehlermeldungen angezeigt werden, denn wenn der Compiler eine angegebene Headerdatei nicht findet, dann sagt er das auch.

    Genauere Details wären hilfreich, welche Version des AVR-Studio, welche Win-AVR Version und der vollständige Compiler-Output.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.401
    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    Im gezeigten Code wird die asuro.h ganz zu Anfang eingebunden. Eine kurze Googlesuche ergibt, dass in der asuro.h die vermissten Funktionen deklariert sind,
    Im gezeigten Code wird eine asuro.h ganz zu Anfang eingebunden. Offensichtlich sind dort die verwendeten Funktionen nicht deklariert.

    Wenn ich Includes in " " sehe, gehe ich davon aus, daß sie nicht zu einer Library gehören, sondern vom Anwender selbst erstellt worden sind. Ob Google wirklich anzeigt, was in asuro.h im Projektdirektory von Oderlachs wirklich steht?

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Klebwax Beitrag anzeigen
    Wenn ich Includes in " " sehe, gehe ich davon aus, daß sie nicht zu einer Library gehören, sondern vom Anwender selbst erstellt worden sind. Ob Google wirklich anzeigt, was in asuro.h im Projektdirektory von Oderlachs wirklich steht?
    Für den Umstand, dass Du das Vorhandensein einer Include komplett übersiehst:
    Ich vermute, daß sie zum Asuro gehören. Dann sollten sie aber in irgendeinem Headerfile dem Compiler bekannt gemacht werden. In deinen Includes sehe ich aber nur Includes im Umfeld der C-Library oder von AVR, aber nichts von Asuro.
    gehst Du von ziemlich vielen Annahmen aus.

    Du siehst doch die offensichtlichen Schwierigkeiten von Oderlachs und da gehst Du dann auch noch davon aus, dass er sich die asuro.h selbst erstellt hat ? Das ist doch Unsinn, er wird froh sein, wenn er die asuro.h bereitgestellt bekommt und nur einbinden muss. Und daran scheint's zu hapern.
    Aber selbst dann würde der vollständige Compileroutput für Klarheit sorgen.

    Eine vom User erstellte Sammlung von Funktionen kann auch eine Library sein, nur eben keine des Compilers selbst. Die Verwendung von "" oder <> gibt an, wo der Compiler die Header sucht und sagt nichts darüber aus, ob der Header vom User jetzt selbstgestrickt ist, oder vom Anbieter der Hardware bereitgestellt wird.
    Geändert von MagicWSmoke (30.01.2013 um 04:55 Uhr)

  8. #8
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.783
    Blog-Einträge
    8
    Hallo

    Die mit dem asuro ausgelieferte Library (mit Init(), StatusLED(), Sleep() usw.) besteht aus den Dateien asuro.h und asuro.c. Beide Dateien werden in das Verzeichniss kopiert in dem sich der Quellcode des eigenen Programms befindet und mit "" im Includebefehl eingebunden. Wenn man AVR-Studio verwendet, muss man zusätzlich asuro.c in das Projekt einbinden. (Wie man das macht weiß ich nicht, da ich AVR-Studio nicht verwende.) Zusätzlich muss natürlich GCC installiert sein, AVR-Studio und GCC sind Bestandteile von WinAVR. Weitere Includes sind (noch) nicht nötig, weil io.h, interrupt.h und stdlib.h von der asuro-Lib eingebunden werden.

    "Nach Neuinstallation von AsuroLib" und "Ich habe das ganze asuro_src hinund her geschoben,..." deutet auf die Verwendung der erweiterten asuro-Lib hin. Diese integriert sich bei der Installation im WinAVR-Pfad:
    http://www.roboternetz.de/community/...l=1#post252982

    Mehr kann ich dazu leider nicht sagen, weil ich diese Version der Lib nicht verwende. Dazu gibt es aber hier ein paar Threads, weil die Installation nur funktioniert, wenn man sich an die Anleitung hält. Ebenso verhält es sich übrigens bei der Installation von WinAVR...

    ...es gibt ja viele Anleitungen (zur Installation) im Web, nur funktionierte keine..oder Leute die selben Aerger hatten schrieben zulöetzt es geht , aber nicht die Ursache warum ..bzw warum nicht vorher.
    Die einzige gültige Anleitung ist in der Library selbst enthalten. Wenn es plötzlich funktioniert, dann hat man diese vermutlich befolgt.

    Wenn gar nichts geht, kann man auch mal die orginale Library von der CD verwenden. Ich selbst verwende Version 3.2 (mit 36kHz-Takt, PrintInt(), Msleep(), Gettime() und der für die IR-Abstandsmessung benötigten Änderung beim Timer2). Go(), Turn(), und was die aktuelle Lib sonst noch bietet, habe ich mir selbst programmiert. Natürlich ist es einfacher, wenn man die vorgefertigten Funktionen der aktuellen Lib verwenden kann, aber der Lerneffekt ist dabei quasi null. Nur wer die Odometrie, das Linienfolgen oder den Empfang von RC5 mal selbst programmiert hat, kapiert, was da alles dahintersteckt:
    http://sourceforge.net/projects/asuro/files/AsuroLib/

    [Abschweif]
    Neben den zusätzlichen Funktionen bietet die aktuelle Library noch eine weitere neue Funktion: Es werden nur die Bestandteile in das Programm integriert, die im eigenen Programm verwendet werden. Dadurch wird (theoretisch) die Hex-Datei, und damit die Übertragungszeit auf den asuro, kleiner. Ob das bei umfangreichen Programmen wirklich wie gewünscht funktioniert wage ich allerdings zu bezweifeln.
    [/Abschweif]

    ...dann kommt er wieder in die Verbannung,...
    hat er wirklich nicht verdient. Für viele war er der Einstieg in die Robotik und die Welt der Microkontroller. Auch heute noch zeigt er vorbildlich, wie man die Funktionen des AVR mit minimalistischer Beschaltung nutzt. Wer seinem Charme erliegt, dem stehen schlaflose Nächte bevor.

    Gruß

    mic
    Geändert von radbruch (30.01.2013 um 07:58 Uhr)

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Vielen Dank Euch allen !!!
    Ich werde später ausführlicher antworten, bzw eine URL angeben wo Ihr detailierter Informiert werdet in Text und Screenshot , damit möchte ich das Forum nicht belasten...

    DANKE !!!

    Gerhard

    P.S. Verwende AVR Studio 4 letzte Ausgabe/Servicepack mit der Version 5 komme ich einfach nicht klar ...

    Nachtrag :
    Ich habe mir jetzt Asuro Flash v.1.4.6.56 installiert, natürlich erste Versuche gingen schief, na ja, nun habe ich die Pfade meinen Ansprüchen nach im Programm -AF- geändert und die ersten Tests (eigene Beispiele) gingen gut.

    Nun werde ich versuchen, ob ich das Andere, was ich gern machen möchte auch klappt, dann bleibt das AVR-Studio für den Asuro erst mal aussen vor...
    Bin aber daran interessiert zu wissen warum ich mit dem AVR studio nur Pannen habe..

    Gruss Gerhard
    Geändert von oderlachs (30.01.2013 um 14:05 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von oderlachs Beitrag anzeigen
    Ich werde später ausführlicher antworten, bzw eine URL angeben wo Ihr detailierter Informiert werdet in Text und Screenshot , damit möchte ich das Forum nicht belasten...
    Was willst Du da groß belasten, dafür ist ein Forum da. Im Gegenteil, den Thread hier gibt's noch länger, aber den externen Link irgendwann nicht mehr, jemand der dann ein ähnliches Problem hat, läuft in's Leere, weil ein wesentlicher Teil fehlt.
    Bin aber daran interessiert zu wissen warum ich mit dem AVR studio nur Pannen habe..
    Also, hab' mal die neueste Lib geholt, im mitgelieferten Beispiel ADCTest das AVR-Studio Projekt test.aps in Studio4 geöffnet.

    Zum Konfigurieren in den "Configuration Options" gibt's nichts, da das im Beispiel mitgelieferte Makefile verwendet wird.
    Im Makefile muss der Eintrag LIBPATH auf den Pfad zur Asuro Lib geändert werden, hier LIBPATH = Laufwerk:\Pfad\AsuroLib-v280rc1\lib

    Erster Versuch mit "Clean", Compiler bemängelt die nicht vorhandene asuro.h, also asuro.h aus Laufwerk:\Pfad\AsuroLib-v280rc1\lib\inc und gleich noch asuro.c aus Laufwerk:\Pfad\AsuroLib-v280rc1\lib in das Verzeichnis ADCTest kopiert. Nächster Compilerlauf, das Fehlen von myasuro.h wir angemeckert, also auch diese Datei von Laufwerk:\Pfad\AsuroLib-v280rc1\lib\inc nach ADCTest kopiert.
    Erneut auf Build geklickt, Compilerlauf darauf mit 0 Fehler.

    Run, also die Simulation beschwert sich dagegen, weil im AVR-Studio Projekt Beispiels-File ein absoluter und damit nicht mehr passender Pfad steht.
    In den nacheinander aufpoppenden Fenstern werden die Pfade angegeben. Zweimal zur Asuro-Lib, einmal auf \lib, einmal auf \inc, dann noch auf das \include Verzeichnis der WinAVR Installation unter Laufwerk:[\Pfad]\WinAVR-20100110\avr\include, das war's dann, auch die Simulation geht.

    Du musst nur darauf hören, was der Compiler sagt, wenn Du nur Fetzerl davon postest, bringt Dich das nicht weiter.
    Das Ganze geht sicher auch ohne externes Makefile, dann muss man an den Projektoptionen des AVR-Studio die entsprechenden Einstellungen, also u.A. den Pfad zur Asuro-Lib vornehmen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Lipoly.de ...ich glaub ich werd' irre !!!
    Von oderlachs im Forum Offtopic und Community Tratsch
    Antworten: 12
    Letzter Beitrag: 01.03.2012, 17:21
  2. Werde aus dem Datenblatt nicht schlau...
    Von unwisend im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 4
    Letzter Beitrag: 11.04.2011, 12:17
  3. Ich werd noch Irre - unerklärliche Taktverdoppelung
    Von vajk im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 8
    Letzter Beitrag: 11.11.2010, 22:30
  4. pic quarz kondensator... ich werde verückt ;-)
    Von tornado im Forum PIC Controller
    Antworten: 12
    Letzter Beitrag: 13.01.2007, 10:00
  5. Ich werde verrückt. Max232 will nicht!!
    Von maltejahn im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 07.05.2005, 14:30

Berechtigungen

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