ARM toolchain Linux Ubuntu - Include Link Problem

Gast #4428595
Lesenswert?
• ▲
▼
Hallo,

habe ein Olimex Board LPC-P2148 und habe das ARM Toolchain so wie hier 
installiert:
http://embdev.net/articles/ARM_GCC_toolchain_for_Linux_and_Mac_OS_X#Installation

Das kompilieren an sich funktioniert, flashen mit lpc21isp funktioniert 
auch, nun versuche ich ein Beispiel von "Martin THOMAS" mit dem 
etnsprechende Makefile zu kompilieren klappt aber mit dem inclulde 
Dateien leider nicht ganz.

Toolchain ist in Verzeichnis:

/usr/local/arm/

darunter:

arm-elf/include und hier habe ich dem Ornder "arch" von WinAVR mit 
weitere Header Dateien kopiert.

Wenn ich folgendes kompilieren will:

1
#include <stdio.h>
2
#include <errno.h>
3
/* from newlib-lpc */
4
#include <arch/philips/newlib-lpc/lpc210x.h>
5
#include <arch/philips/newlib-lpc/dev_cntrl.h>
6
#include <arch/philips/newlib-lpc/lpc_ioctl.h>
7
#include <arch/philips/newlib-lpc/lpc_sys.h>
8

9
// olimex LPC-P2106: one led on P0.7 (active low)
10
#define LEDPIN  7
11
// olimex LPC-P2106: one switch on P0.31 (active low)
12
#define SWPIN   31
13

14
/**** Device table.  List of device drivers for newlib.  ****/
15
  const struct device_table_entry *device_table[] = {
16
    &com1,  /* stdin  */
17
    &com1,  /* stdout */
18
    &com1,  /* stderr */
19
    0 
20
  };  /* end of list */
21

22
und so weiter ....

Gibt der Compiler folgende Fehlermeldung:
1
/usr/local/arm/lib/gcc/arm-elf/4.1.0/../../../../arm-elf/bin/ld: cannot find -lnewlib-lpc
2
collect2: ld gab 1 als Ende-Status zurück

Bedeutet, dass der Compiler dem Orner "newlib-lpc" wo anders haben will? 
wenn ja wie kann ich das ändern? bin leider nicht so fit mit Makefile.

Makefile in Anhang.

Danke in voraus.
Gruß
Angehängte Dateien:
Gast #4428678
Lesenswert?
• ▲
▼
Harry L. schrieb:
> Da fehlt der Pfad zu newlib-lpc im Library-Pfad.
> ggf. im Makefile anpassen.

Genau!
Leider kenne mich nicht viel aus mit Makefiles und weiss nicht genau wo 
ich es ändern kann.
Gast #4428692
Lesenswert?
• ▲
▼
Ich hatte in Makefile hier was ergänzt:

1
# List any extra directories to look for include files here.
2
#     Each directory must be seperated by a space.
3
#EXTRAINCDIRS = ./include
4
EXTRAINCDIRS = ./include/arch



 aber leider kein Treffer.
Gast #4428713
Lesenswert?
• ▲
▼
ok ich habs

Rufus Τ. F. schrieb:
> Wie rufst Du den Linker auf, und wo
> liegt die Library, die Du verwenden willst? Hast Du überhaupt eine
> Library, oder hast Du nur 'ne Handvoll Headerdateien und dazugehörigen
> Sourcecode?

Habe die Library's kopiert und sehe da, funktiniert!

Antwort schreiben

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.

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.