Skip to main content
chputney
Associate
August 17, 2015
Question

STM32F7 DSP Library

  • August 17, 2015
  • 6 replies
  • 2508 views
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
    This topic has been closed for replies.

    6 replies

    Tesla DeLorean
    Guru
    August 17, 2015
    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
    chputney
    chputneyAuthor
    Associate
    August 17, 2015
    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.

    Tesla DeLorean
    Guru
    August 17, 2015
    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Tesla DeLorean
    Guru
    August 17, 2015
    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
    chputney
    chputneyAuthor
    Associate
    August 18, 2015
    Posted on August 18, 2015 at 11:23

    Thank you for this help.

    Tesla DeLorean
    Guru
    August 18, 2015
    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..