Coocox STM32 eigene Libraries erzeugen

OP (Firma: www.harerod.de) Persönliche Seite #3155361
Lesenswert?
• ▲
▼
Hallo Zusammen!

Ich verwende CooCox 1.7 mit einem STM32F407.
Bestimmte Funktionen sollen nun in einer eigenen Bibliothek gesammelt 
werden.
Das funktioiert auch prächtig, solange keine Winkelfunktionen in der lib 
zum Einsatz kommen. Verwendet man sin/cos, so meldet der Linker beim 
Einbinden der Bibliothek "undefined reference to 'cos'".
Das kennt man ja, deswegen bindet man ja auch libm.a ein. Habe ich 
sowohl im Bibliotheksprojekt als auch im Zielprojekt gemacht - 
erfolglos.

Meine Linker Commandlines:

Target:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=E407_IBS.map; -O0; 
-lgcc; -lc; -lm; -L; -lm; -L..\lcd_lib\lcd_lib\debug\bin\; -llcd_lib; 
-L${linkdir}; -T${linkdir}/arm-gcc-link.ld;

Library:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=LCD_LIB.map; -O0; 
-lgcc; -lc; -lm; -L..\..\coocox\gnu tools arm embedded\4.6 
2012q2\arm-none-eabi\lib\armv7e-m\; -lm; -L${linkdir}; 
-T${linkdir}/arm-gcc-link.ld;

Hat jemand eine Idee was ich vergessen haben könnte?

Danke!
Gast #3525406
Lesenswert?
• ▲
▼
Hallo Zusammen!

Ich verwende CooCox 1.7 mit einem STM32F407.
Bestimmte Funktionen sollen nun in einer eigenen Bibliothek gesammelt
werden.
Das funktioiert auch prächtig, solange keine Winkelfunktionen in der lib
zum Einsatz kommen. Verwendet man sin/cos, so meldet der Linker beim
Einbinden der Bibliothek "undefined reference to 'cos'".
Das kennt man ja, deswegen bindet man ja auch libm.a ein. Habe ich
sowohl im Bibliotheksprojekt als auch im Zielprojekt gemacht -
erfolglos.

Meine Linker Commandlines:

Target:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=E407_IBS.map; -O0;
-lgcc; -lc; -lm; -L; -lm; -L..\lcd_lib\lcd_lib\debug\bin\; -llcd_lib;
-L${linkdir}; -T${linkdir}/arm-gcc-link.ld;

Library:
-mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=LCD_LIB.map; -O0;
-lgcc; -lc; -lm; -L..\..\coocox\gnu tools arm embedded\4.6
2012q2\arm-none-eabi\lib\armv7e-m\; -lm; -L${linkdir};
-T${linkdir}/arm-gcc-link.ld;

Hat jemand eine Idee was ich vergessen haben könnte?

Danke!


Hat jemand dafür eine Antwort?
Gast #3525878
Lesenswert?
• ▲
▼
Marcus H. schrieb:
> -mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=E407_IBS.map; -O0;
> -lgcc; -lc; -lm; -L; -lm; -L..\lcd_lib\lcd_lib\debug\bin\; -llcd_lib;
> -L${linkdir}; -T${linkdir}/arm-gcc-link.ld;
>
> Library:
> -mcpu=cortex-m4; -mthumb; -g; -nostartfiles; -Map=LCD_LIB.map; -O0;
> -lgcc; -lc; -lm; -L..\..\coocox\gnu tools arm embedded\4.6
> 2012q2\arm-none-eabi\lib\armv7e-m\; -lm; -L${linkdir};
> -T${linkdir}/arm-gcc-link.ld;

Dir ist schon klar dass das Semikolon ; ein Kommando beendet und somit 
alle darauffolgenden Parameter als seperate Befehle gelten?

Wenn das eine statische Library sein soll - was sehr wahrscheinlich 
ist?!?! - wird die nicht gelinkt, daher gibts keine Linker Command Line.

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.