Hallo ich versuche schon seit Tagen die folgende Fehlermeldung auf meinen HelloWorld Projekt zu beseitigen aber bis jetzt ohne Erfolg: 'Building target: HelloWorld.elf' 'Invoking: ARM Sourcery Windows GCC C Linker' arm-none-eabi-gcc -T"D:\Microcontroladores\Beispiele\Luminary\HelloWorld\hello.ld" -nostartfiles -L"C:\Program Files\StellarisWare\driverlib\gcc" -Wl,-Map,HelloWorld.map -mcpu=cortex-m3 -mthumb -g3 -gdwarf-2 -o"HelloWorld.elf" ./hello.o ./startup_gcc.o ./hello.o: In function `main': D:\Microcontroladores\Beispiele\Luminary\HelloWorld\Debug/../hello.c:66: undefined reference to `SysCtlClockSet' D:\Microcontroladores\Beispiele\Luminary\HelloWorld\Debug/../hello.c:71: undefined reference to `RIT128x96x4Init' D:\Microcontroladores\Beispiele\Luminary\HelloWorld\Debug/../hello.c:76: undefined reference to `RIT128x96x4StringDraw' collect2: ld returned 1 exit status cs-make: *** [HelloWorld.elf] Error 1 Ich konnte ein erstes Beispiel (Blinky.c) compilieren und linken aber beim 2 Beispiel ist die obere Fehlermeldung aufgetaucht. Eclipse generiert das Makefile selber. Ich habe alle Links mehrmals geprüft und erscheinen in Ordnung zu sein. Mein Gefühl nach, den Compiler findet die Library libdriver von Luminary nicht, obwohl den Pfad unter "settings" --> Arm Sourcery Windows GCC C Linker --> Libraries unter Library search path (-L) als "C:\Program Files\StellarisWare\driverlib\gcc eingegeben ist. Kann mir jemand ein Tip geben? Ich wäre sehr dankbar. Schöne Grüsse aus Argentinien Pablo
Pablo schrieb: > C:\Program Files\StellarisWare\driverlib\gcc Leerzeichen in Pfaden waren, egal ob prinzipiell unterstützt oder nicht, schon immer eine gaaaanz schlechte Idee. Installier den Kram doch mal woanders hin.
Hallo besten Dank für die Antwort. In wirklichkeit ist die StellarisWare unter C:\Programme\StellarisWare\driverlib\gcc gespeichert. Ich weiss es nicht genau, warum den Compiler den Pfad mit C:\Program Files... übernohmen hat. Ich habe den Pfad geändert und erhielt die gleiche Fehlermeldung. Irgendeine andere Idee? Pablo
Hallo ich habe inzwischen die StellarisWare woanders installiert (ohne Leerzeichen) aber den Fehler bleibt. Irgendeine Idee?? Pablo
Pablo schrieb: > Mein Gefühl nach, den Compiler findet die > Library libdriver von Luminary nicht, obwohl den Pfad unter "settings" > --> Arm Sourcery Windows GCC C Linker --> Libraries unter Library search > path (-L) als "C:\Program Files\StellarisWare\driverlib\gcc eingegeben > ist. Den Pfad angeben reicht nicht, du musst schon noch die lib selber angeben. Davon ist in dem Linkeraufruf nichts zu sehen. Olilver
Hallo Vielen Dank für deine Antwort. Ich habe den Pfad mit dem Datei libdriver.a angegeben und zwar unter "settings"--> Libraries(-l). Jetzt der Linker gib mir einen neuen Fehler: 'Building target: HelloWorld.elf' 'Invoking: ARM Sourcery Windows GCC C Linker' arm-none-eabi-gcc -T"D:\Microcontroladores\Beispiele\Luminary\HelloWorld\hello.ld" -nostartfiles -L"D:\Microcontroladores\StellarisWare\driverlib\gcc" -Wl,-Map,HelloWorld.map -ldriver -mcpu=cortex-m3 -mthumb -g3 -gdwarf-2 -o "HelloWorld.elf" ./hello.o ./startup_gcc.o -l"D:/Microcontroladores/StellarisWare/driverlib/gcc/libdriver.a" c:/program files (x86)/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/bin/ld .exe: cannot find -lD:/Microcontroladores/StellarisWare/driverlib/gcc/libdriver.a collect2: ld returned 1 exit status cs-make: *** [HelloWorld.elf] Error 1 Er findet scheinbar die Library nicht, ist das korrekt? Der Pfad ist richtig eingestellt. Wer hat noch eine Idee? Pablo
Der Name der lib muß ohne das führende "lib" angegeben werden. Nennt sich die Lib "libdriver.a", gehört in die Linkerzeile -ldriver. Oliver
Hallo wenn du genau hinschaust, ist -ldriver in der Linkerzeile: 'Building target: HelloWorld.elf' 'Invoking: ARM Sourcery Windows GCC C Linker' arm-none-eabi-gcc -T"D:\Microcontroladores\Beispiele\Luminary\HelloWorld\hello.ld" -nostartfiles -L"D:\Microcontroladores\StellarisWare\driverlib\gcc" -Wl,-Map,HelloWorld.map -ldriver -mcpu=cortex-m3 -mthumb -g3 -gdwarf-2 -o "HelloWorld.elf" ./hello.o ./startup_gcc.o -l"D:/Microcontroladores/StellarisWare/driverlib/gcc/libdriver.a" Was könnte noch sein? Danke Pablo
Woher kommt diese Zeile in dem Aufruf?
>-l"D:/Microcontroladores/StellarisWare/driverlib/gcc/libdriver.a"
Oliver
Hallo Oliver die Zeile habe ich eingefügt und zwar in Eclipse unter "Project properties" --> Settings --> ARM Sourcery Windows GCC Linker --> Libraries --> dort kannst du 2 Dinge angegeben: Libraries(-l) und Library search path(-L). Unter Libraries(-l) habe ich angegeben: D:\Microcontroladores\StellarisWare\driverlib\gcc\libdriver.a Unter Library search path(-L) habe ich angegeben: D:\Microcontroladores\StellarisWare\driverlib\gcc Darf diesen Aufruf nicht dorthin stehen? Besten Dank Pablo
Pablo schrieb: > Darf diesen Aufruf nicht dorthin stehen? In das Fenster "Libraries(-l)" gehört nur das Wort "driver". Das wird dann zu -ldriver im Aufruf. Bleibt die Frage, woher kommt das andere -ldriver? Oliver
Hallo Oliver nochmals vielen Dank. Mit deiner Hilfe konnte bis jetzt ein Error weniger erzeugen. Ich habe das Wort "driver" eingefügt und -ldriver wegnommen und siehe da, den ersten Fehler ist verschwunden(`SysCtlClockSet'). Jetzt aber habe ich noch diesen Fehlern: 'Building target: HelloWorld.elf' 'Invoking: ARM Sourcery Windows GCC C Linker' arm-none-eabi-gcc -T"D:\Microcontroladores\Beispiele\Luminary\HelloWorld\hello.ld" -nostartfiles -L"D:\Microcontroladores\StellarisWare\driverlib\gcc" -L"D:\Microcontroladores\StellarisWare\grlib\gcc" -Wl,-Map,HelloWorld.map -mcpu=cortex-m3 -mthumb -g3 -gdwarf-2 -o "HelloWorld.elf" ./hello.o ./startup_gcc.o -ldriver -lgr ./hello.o: In function `main': D:\Microcontroladores\Beispiele\Luminary\HelloWorld\Debug/../hello.c:71: undefined reference to `RIT128x96x4Init' D:\Microcontroladores\Beispiele\Luminary\HelloWorld\Debug/../hello.c:76: undefined reference to `RIT128x96x4StringDraw' collect2: ld returned 1 exit status cs-make: *** [HelloWorld.elf] Error 1 Es geht um dem Display des EVK. Ich finde nirgendwo eine Library dafür, aber habe ich probiert mit der Library "grlibrary" und hat es nicht funktioniert. Hast du vielleicht da eine Ahnung? Besten Dank Pablo
Pablo schrieb: > Hast du vielleicht da eine Ahnung? Klar. Meine Ahnung sagt mir, daß alles wesentliche dazu in den Dokus zum System und dem Sourcode steht. Oliver
Hallo Oliver besten Dank für deine Antwort. Vielleicht habe ich das übersehen, oder vielleicht von soviel lesen, sehe ich das Wesentliche nicht mehr. Ich würde nicht fragen, wenn ich selber das ganze machen könnte. Manchmal von soviele Bäume sieht man den Wald nicht mehr. Ich probiere's weiter... Grüess Pablo
google mit dem zauberwort "RIT128x96x4Init'" aufgerufen liefert nach 10 sec suchen das hier: http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/57916/206015.aspx Vielleicht hilfts. Oliver
Oliver vielen Dank. Ich war gerade dabei die Seite von TI auseinander zu nehmen und habe genau die Info gefunden, die du mir geschickt hast. Es funktioniert alles. Besten Dank nochmals für deine Zeit und Geduld. Viele Grüsse aus Argentinien Pablo
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.