cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F7 DSP Library

chputney
Associate II
Posted on August 17, 2015 at 11:08

I have a STM32F746G DISCOVERY board and am starting to use System Workbench.  I have found that in the STM32Cube_FW_F7_V1.1.0 folder for the DSP library CMSIS/GCC there is only the M4 library, but in the CMSIS/ARM folder there are newer M7 libraries.

Where are the GCC libraries for the M7 ?

Charles Putney
6 REPLIES 6
Posted on August 17, 2015 at 14:38

The F7 uses a single-precision FPU, so I don't see it having materially more functionality than an M4.

Source is provided, right?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
chputney
Associate II
Posted on August 17, 2015 at 21:26

Yes, there is source in the DSP-Lib folder but for the fft transform files the header says ''Target Processor: Cortex-M4/Cortex-M3/Cortex-M0''.  In the ''Lib'' folder which has the compiled libraries for ARM and GCC, in the ARM folder there are 6 compiled libraries:

arm_cortexM7b_math.lib

arm_cortexM7bfdp_math.lib

arm_cortexM7bfsp_math.lib

arm_cortexM7l_math.lib

arm_cortexM7lfdp_math.lib

arm_cortexM7lfsp_math.lib

I don't think the source matches the libraries.  Also, in numerous press releases, it said that ''STM32 F7 Cube, a new CMSIS DSP library, discovery kits ...'', so where is the new library ?

I have looked on the ARM site and the only CMSIS I see is ''CMSIS-SP-00300-r4p3-00rel0'' and it doesn't have the GCC libraries or the correct source either.

Posted on August 17, 2015 at 22:05

The only library of any merit for the F7 is the arm_cortexM7lfsp_math.lib

__TARGET_CPU_CORTEX_M7_FP_SP 1

__TARGET_FPU_FPV4_SP 1

ARMCM7_SP 1

ARM_MATH_CM7 1

ARM_MATH_MATRIX_CHECK 1

ARM_MATH_ROUNDING 1

__FPU_PRESENT 1

Five of the source files have a dependency on ARM_MATH_CM7 in their build/structure

arm_biquad_cascade_df2T_f32.c

arm_biquad_cascade_df2T_f64.c

arm_biquad_cascade_stereo_df2T_f32.c

arm_cfft_radix4_q31.c

arm_fir_f32.c

The GNU/GCC build is missing, but I think it possible to synthesize from the supplied source.

Salient command line parameters to translate:

--cpu=Cortex-M7.fp.sp --fpu=FPv4-SP --fpmode=ieee_full

-DARMCM7_SP -DARM_MATH_CM7 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING -D__FPU_PRESENT=1

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on August 17, 2015 at 23:27

Attached is libarm_cortexM7lfsp_math.a

Built this with the V1.4.4 CMSIS DSP Library, and GNU C 4.9.3

________________

Attachments :

libarm_cortexM7lfsp_math.a : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I0g0&d=%2Fa%2F0X0000000bcf%2F.dTlCVW_ZrqdgTznJ43ppjSdUoVhVWkU8pHfkZ9GWd8&asPdf=false
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
chputney
Associate II
Posted on August 18, 2015 at 11:23

Thank you for this help.

Posted on August 18, 2015 at 19:30

I have looked on the ARM site and the only CMSIS I see is ''CMSIS-SP-00300-r4p3-00rel0'' and it doesn't have the GCC libraries or the correct source either.

 

This contains the DSP V1.4.5 version, GNU/GCC users are expected to build their own, and ARM's comments on the CMSIS page tell me they are only going to test/validate the ARM (Keil) built libraries. The source is buildable, but doesn't come with instructions for your average user.

Attached is a library build using the setting/options from V1.4.5

/* From Keil (GNU/GCC) CMSIS DSP V1.4.5 project

-fno-strict-aliasing -ffunction-sections -fdata-sections -mfpu=fpv5-sp-d16 -mfloat-abi=hard -ffp-contract=off

ARM_MATH_CM7, ARM_MATH_MATRIX_CHECK, ARM_MATH_ROUNDING, UNALIGNED_SUPPORT_DISABLE, __FPU_PRESENT = 1

*/

________________

Attachments :

libarm_cortexM7lfsp_math.a : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I0hb&d=%2Fa%2F0X0000000bce%2F6rgVf4RgmHNwveIOoB7XXAKVF.TZ1Bm7aDYn_.OPWhQ&asPdf=false
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..