DSP Library STM32F407 + CooCox IDE

Gast #3019663
Lesenswert?

Sehr geehrte Forummitglieder,

hat einer von euch die DSP Funktionen der DSP Library auf der STM Seite 
für das STM32F4 Discovery Board mit der CooCox CoIDE zum Laufen gebracht 
?!

Kann ich die *.lib Dateien direkt in CooCox CoIDE integrieren ?!

Bin für jeden Tipp dankbar.

mfGruß,
opcode
Gast #3020538
Lesenswert?

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
Gast #3280041
Lesenswert?

Hallo,

ich wollte jetzt auch einmal die DSP-Funktionen auf dem F4-Discovery 
Board testen und bin auf diesen thread gestoßen, ich krieg es allerdings 
nicht zum laufen.

Wenn ich es wie oben mache, dann kommt ein ganzer Haufen Fehler dieser 
Art:
1
[cc] C:\CooCox\CoIDE\workspace\DSPtest\cmsis/arm_math.h:412:3: error: unknown type name '__STATIC_INLINE'
2
[cc] C:\CooCox\CoIDE\workspace\DSPtest\cmsis/arm_math.h:412:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'clip_q63_to_q31'

Hat das mittlerweile jemand mit CooCox erfolgreich am Laufen und kann 
helfen?

MfG,
Alex

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