Coocox STM32 eigene Libraries erzeugen

(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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren