• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32的进行一些数据计算处理时,如何使用DSP库

请输入用户名 2020-11-13 浏览量:823

STM32F4和F7系列有了浮点库,能进行DSP数据处理计算。

那如何使用DSP库,或者进行浮点运算呢。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 使用DSP库首先得打开STM32F4(Cortex-M4核)带的硬件FPU,

    方法1)在头文件stm32f4xx.h中找到如下两个宏定义_FPU_PRESENT和_FPU_USED将它们都设置为1来开启硬件FPU,默认_FPU_PRESENT是1(文件中就有),_FPU_USED需要自己添加定义;方法2)如果使用Keil MDK(版本5.0以上)开发,则在工程属性(Option Targets)中Target选项卡Code Generation侧Floating Point Hardware”下拉菜单中选择”Use FPU”。点击”OK“完成设置,其实这一步的效果就是在头文件里添加宏_#define _FPU_USED 1

    使用DSP库,下载好DSP库后,在工程目录下新建DSP_LIB文件夹,然后将解压得到arm_cortexM4lf_math.lib和相关头文件(路径STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/CMSIS/Include 里的文件)拷贝到DSP_LIB文件夹和DSP_LIB/Include文件夹中;其次就是打开工程,新建DSP_LIB分组,并将arm_cortexM4lf_math.lib添加到工程里面;添加好文件之后,接着就是需要添加头文件包含路径,将第一步拷贝的 Include 文件夹和 DSP_LIB 文件夹,加入头文件包含路径,这和平常的STM32开发一样的配置方法;最好

    能够使用DSP库的所有功能,还需要添加以下几个全局宏定义:1)__FPU_USED   2)__FPU_PRESENT   3)ARM_MATH_CM4  4)__CC_ARM 5)ARM_MATH_MATRIX_CHECK 6)ARM_MATH_ROUNDING在(Option Targets)中C/C++选项卡Preprocessor Symbols添加,至此就可使用STM32F4的DSP库函数了,

      码字不易。。。。

           



          

           

           


    • 发布于 2020-11-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 编译的时候选择使用FPU,然后它编译的时候会将一些代码编译为支持DSP的
    • 发布于2020-11-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该说在利用DSP库时利用硬件浮点运算加速

    其实没有硬件浮点加强也可以用DSP库的,只是运算相对更慢。


    要使用,需要在编译选项中选择 使用FPU,这样相应的处理才会调用硬件FPU。

    • 发布于2020-11-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 浮点,打开FPU就可以

    DSP库就是调用其函数进行计算的

    • 发布于2020-11-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 比较简单的办法就是直接打开FPU,然后倒入DSP库就可以实现一个DSP的运算操作
    • 发布于2020-11-29
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32的进行一些数据计算处理时,如何使用DSP库