AVR32UC3C-EK math.h wird nicht richtig genutzt

OP #2668138
Lesenswert?
• ▲
▼
Guten Tag,

ich habe ein Problem in AVR-Studio 5 mit meinem UC3C-EK Board.
Es ist mit einem AVR32UC3C0512C bestückt.
Wenn ich Funktionen der math.h verwende (Bsp.: cos(x)) sind diese
bereits definiert :

•
1
#define cos(x) fast_cos(x)

Die Definition geschieht in der fast_math.h . Diese wurde allerdings
zu keinem Zeitpunkt eingebunden, und auch wenn ich sie einbinde 
funktioniert der Cosinus nicht. Ich würde allerdings gerne die 
Funktionen der einfachen math.h verwenden.

In der math.h selbst werden auch von Beginn an die Funktionsnamen 
umdefiniert und einige haben garkeine Definition mehr (Bsp.: pow()).
In einigen Beispielen zu diesem Board wird die math.h allerdings 
verwendet und dort tritt dies nicht auf.

Version AVR-Studio : 5.0.1223
Version Toolbchain : 4.5.3
Version Framework  : 2.8.1

Kennt vll. jemand dieses Problem oder wüsste eine Lösung dazu ?

Mit freundlichen Grüßen,
Moritz Auler
OP #2668875
Lesenswert?
• ▲
▼
Hi ,

also , das Problem ist :

Ich kann keine Funktionen der math.h nutzen.
Es kommt immer folgender Fehler :

Error  1  undefined reference to `cos'

Dabei hab ich die math.h eingebunden.
Wenn ich auf cos(x) gehe zeigt er folgendes an :

•
1
#define cos(x) fast_cos(x)

Wie oben genannt wird dies -in der von mir nicht eingebundenen-
fast_math.h gemacht. Wenn ich die fast_math.h einbinde zeigt
er mir allerdings den gleichen Fehler, somit kann ich garkeine
Befehle wie cos , sin etc. verwenden, die ich allerdings brauche..

Eingebunden hab ich :
•
1
#include <asf.h>
2
#include "gpio.h"
3
#include <math.h>

@Jens : Hat leider keine Veränderung gebracht.

Moritz
Gast #2669110
Lesenswert?
• ▲
▼
Hm,

im Toolchain kann ich dem Linker Libraries hinzufügen, allerdings finde 
ich keine mathlib.

Hier mal ein Ausschnitt der aufschlussreich sein könnte :

•
1
In file included from ../src/main.c:16:
2
C:\Users\aum\Documents\AVRStudio\FFT_Test_4\FFT_Test_4\src\math.h(344,1): function declaration isn't a prototype
3
C:\Users\aum\Documents\AVRStudio\FFT_Test_4\FFT_Test_4\src\math.h(357,1): function declaration isn't a prototype
4
    Finished building: ../src/main.c
5
    Building target: FFT_Test_4.elf
6
    Invoking: AVR32/GNU C/C++ Linker
7
    "C:/Program Files/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr32-gcc.exe" -nostartfiles -L"../../../../../../Program Files/Atmel/AVR Studio 5.0/AVR Toolchain/lib/gcc/avr32/4.4.3/ucr3fp"  -Wl,--gc-sections -
8

9
T../src/asf/avr32/utils/linker_scripts/at32uc3c/0512c/gcc/link_uc3c0512c.lds -Wl,--relax -Wl,-e,_trampoline  -mpart=uc3c0512c  -o FFT_Test_4.elf  src/asf/avr32/boards/uc3c_ek/init.o src/asf/avr32/drivers/flashc/flashc.o src/asf/avr32/drivers/gpio/gpio.o 
10

11
src/asf/avr32/drivers/intc/exception.o src/asf/avr32/drivers/intc/intc.o src/asf/avr32/drivers/pm/pm_uc3c.o src/asf/avr32/drivers/pm/power_clocks_lib.o src/asf/avr32/drivers/scif/scif_uc3c.o src/asf/avr32/drivers/usart/usart.o 
12

13
src/asf/avr32/utils/debug/print_funcs.o src/asf/avr32/utils/startup/startup_uc3.o src/asf/avr32/utils/startup/trampoline_uc3.o src/asf/common/services/clock/uc3c/osc.o src/asf/common/services/clock/uc3c/pll.o 
14

15
src/asf/common/services/clock/uc3c/sysclk.o src/FFT.o src/fpu_math.o src/main.o  
16
src/asf/avr32/boards/uc3c_ek/init.o(0,0): input is not relaxable
17
src/asf/avr32/drivers/flashc/flashc.o(0,0): input is not relaxable
18
src/asf/avr32/drivers/gpio/gpio.o(0,0): input is not relaxable
19
src/asf/avr32/drivers/intc/intc.o(0,0): input is not relaxable
20
src/asf/avr32/drivers/pm/pm_uc3c.o(0,0): input is not relaxable
21
src/asf/avr32/drivers/pm/power_clocks_lib.o(0,0): input is not relaxable
22
src/asf/avr32/drivers/scif/scif_uc3c.o(0,0): input is not relaxable
23
src/asf/avr32/drivers/usart/usart.o(0,0): input is not relaxable
24
src/asf/avr32/utils/debug/print_funcs.o(0,0): input is not relaxable
25
src/asf/common/services/clock/uc3c/osc.o(0,0): input is not relaxable
26
src/asf/common/services/clock/uc3c/pll.o(0,0): input is not relaxable
27
src/asf/common/services/clock/uc3c/sysclk.o(0,0): input is not relaxable
28
src/FFT.o(0,0): input is not relaxable
29
src/fpu_math.o(0,0): input is not relaxable
30
src/main.o(0,0): input is not relaxable
31
    src/FFT.o: In function `fftinit':
32
C:\Users\aum\Documents\AVRStudio\FFT_Test_4\FFT_Test_4\Debug/../src/FFT.c(27,1): undefined reference to `cos'
33
    src/main.o: In function `main':
34
C:\Users\aum\Documents\AVRStudio\FFT_Test_4\FFT_Test_4\Debug/../src/main.c(74,1): undefined reference to `cos'
35
    src/main.o: In function `init_hann':
36
C:\Users\aum\Documents\AVRStudio\FFT_Test_4\FFT_Test_4\Debug/../src/main.c(84,1): undefined reference to `cos'
37
    collect2: ld returned 1 exit status
38
    make: *** [FFT_Test_4.elf] Error 1
39
  Done executing task "RunAvrGcc32" -- FAILED.
40
Done building target "CoreBuild" in project "FFT_Test_4.avrgccproj" -- FAILED.
41
Done building project "FFT_Test_4.avrgccproj" -- FAILED.
42

43
Build FAILED.
44
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
Gast #2680675
Lesenswert?
• ▲
▼
Hello,

I can read German, but not write it (I'm Belgian), so I will write 
English.
Are you sure that you have imported the "GCC math library for 32-bit AVR 
(service)" in the Atmel Software Framework Wizard and have put the knob 
on yes in it?

Grtz,

Jeroen
#2992015
Lesenswert?
• ▲
▼
Hi Jeroen,

I had the same problem like Moritz and I included the "GCC math library 
for 32-bit AVR (service)" in the ASF Wizard and puted the knob on yes, 
but I could not find any header file or somthing else where I could see 
the names of the function that are included in this lib!? Is there some 
kind of documentation for this lib?!

Many thanks
Dittmar


Jeroen schrieb:
> Hello,
>
> I can read German, but not write it (I'm Belgian), so I will write
> English.
> Are you sure that you have imported the "GCC math library for 32-bit AVR
> (service)" in the Atmel Software Framework Wizard and have put the knob
> on yes in it?
>
> Grtz,
>
> Jeroen

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.