Sehr geehrte Forummitglieder,
ich habe es nun geschaft, dass CooCox IDE die fft Funktion
"arm_rfft_init_f32()" aufrufen kann, habe jedoch noch nicht die Funktion
getestet !
Ich habe folgendes durchgeführt:
1.) Die Headerdateien "arm_math.h" und "arm_common_tables.h" aus der
DSP_Library in den CMIS Ordner des jeweiligen CooCox CoIDE Projektes
reinkopieren und in der IDE im Project-View (links) über Rechtsklick ->
Add Files diese Headerdateien dem Projekt kenntlich machen. Die
Headerdateien befinden sich in dem Ordner:
1 | stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\CMSIS\Include
|
. Diese Datei bzw. den Ordner gibt es hier als ZIP Archiv zum
Downloaden:
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4_dsp_stdperiph_lib.zip
2.) Die folgenden Library Files (*.lib) Dateien in das
Projektverzeichnis (Wurzelverzeichnis; da wo sich z.B. die main.c Datei
befindet) kopieren:
2.1) libgcc.a - zu finden in dem Ordner des Toolchains
"C:\Programme\arm-none-eabi-gcc-4_6\lib\gcc\arm-none-eabi\4.6.2\armv7e-m
\fpu"
2.2) libc.a, libg.a und libm.a - zu finden in dem Ordner des
Toolchains:
"C:\Programme\arm-none-eabi-gcc-4_6\arm-none-eabi\lib\armv7e-m\fpu"
Es muss hier beachtet werden, welches FPU später gewählt wird. Bei Soft
FPU müssen die entsprechenden Libraries aus dem Verzeichnus
"....\softfp" verwendet werden.
Nach dem diese Libraries in dem Projektordner sind, müssen diese in den
Einstellungen (Configuration -> Link: Linked Libraries) hinzugefügt
werden.
Des Weiteren habe ich folgende Symbole definiert (Configuration -
Compile):
1 | STM32F407VG
|
2 | STM32F4XX
|
3 | __ASSEMBLY__
|
4 | USE_STDPERIPH_DRIVER
|
5 | ARM_MATH_CM4
|
6 | __FPU_PRESENT
|
7 | ARM_MATH_ROUNDING
|
8 | ARM_MATH_MATRIX_CHECK
|
9 | __FPU_PRESENT=1
|
10 | __FPU_USED
|
Die Einstellung für FPU: FPU Hard
Anschliessend muss dann in der "main" Datei die Headerdatei "arm_math.h"
eingefügt werden:
#include "arm_math.h"
Ich benutze:
Windows XP 32 Bit Version, CooCox CoIDE Version 1.7.0 und das Toolchain
arm-none-eabi-gcc-4_6
Ich kann mit diesen Schritten das Projekt fehlerfrei kompilieren.
Ob das nun die optimale Lösung ist, steht natürlich außer Frage.
Vielleicht sind sogar einige Schritte falsch oder "dirty". Ich bitte um
Verbesserungen ! Die Library Files müssen eventuell gar nicht in das
Projektverzeichnis kopiert werden, sondern können direkt aus dem
Toolchain Ordner gewählt werden ?!
mfGruß,
opcode