STM32L433使用DSP库配置过程

    STM32L433中有FPU,在使用中为了使用其中的部分函数,需要对其进行配置。

    配置成功后做些总结,留待后续复习备忘,同时也希望有朋友像我一样使用DSP库配置时少走弯路,留作交流。

配置过程如下:

1、建立完整工程,添加必要文件,编绎通过。

2、在STM32Cube_FW_L4_V1.6.0\Drivers\CMSIS\Lib\ARM\ 中存在四个文件,分别为

        

      在其说明文档里可以看到这四个文件的区别如下: 

Using the Library

The library installer contains prebuilt versions of the libraries in the Lib folder.

  • arm_cortexM7lfdp_math.lib (Little endian and Double Precision Floating Point Unit on Cortex-M7)
  • arm_cortexM7bfdp_math.lib (Big endian and Double Precision Floating Point Unit on Cortex-M7)
  • arm_cortexM7lfsp_math.lib (Little endian and Single Precision Floating Point Unit on Cortex-M7)
  • arm_cortexM7bfsp_math.lib (Big endian and Single Precision Floating Point Unit on Cortex-M7)
  • arm_cortexM7l_math.lib (Little endian on Cortex-M7)
  • arm_cortexM7b_math.lib (Big endian on Cortex-M7)
  • arm_cortexM4lf_math.lib (Little endian and Floating Point Unit on Cortex-M4)
  • arm_cortexM4bf_math.lib (Big endian and Floating Point Unit on Cortex-M4)
  • arm_cortexM4l_math.lib (Little endian on Cortex-M4)
  • arm_cortexM4b_math.lib (Big endian on Cortex-M4)
  • arm_cortexM3l_math.lib (Little endian on Cortex-M3)
  • arm_cortexM3b_math.lib (Big endian on Cortex-M3)
  • arm_cortexM0l_math.lib (Little endian on Cortex-M0 / CortexM0+)
  • arm_cortexM0b_math.lib (Big endian on Cortex-M0 / CortexM0+)

        因为STM32L433是带浮点运算单元并且是Little endian ,在这里将arm_cortexM4lf_math.lib这个文件复制到工程目录文件夹下,并将其添加至工程(直接添加,无需解压)。

    在STM32Cube_FW_L4_V1.6.0\Drivers\CMSIS\DSP_Lib\Source中可以查看相关源代码。

    在STM32Cube_FW_L4_V1.6.0\Drivers\CMSIS\Documentation\index.html中可以相看说明文档。

3、在工程配置中,选择使用FPU。

STM32L433使用DSP库配置过程_第1张图片

4、在工程配置中,使用宏定义配置使用FPU。由于很多官方的文件都是只读的,个人建议不要修改其只读属性后修改文件内容,以免在移植时引起不必要的麻烦。

STM32L433xx,USE_HAL_DRIVER,ARM_MATH_CM4,__FPU_PRESENT=1,__FPU_USED =1

STM32L433使用DSP库配置过程_第2张图片

5、在使用的文件里添加头文件

#include "arm_math.h"
#include "arm_const_structs.h"

6、现在可以直接调用DSP库中的相关函数,函数说明可以参照说明文件。

在网上无意间看到过安富莱写的一些《ARM官方DSP库xxx的使用》,里面介绍的很详细,对我开始使用时起到了非常大的帮助,可以搜索参考,仅供交流。


致谢:

    在配置过程中也曾在网上查找过很多人写的博客或者说明,对我的使用过程起到了很大的帮助,致以敬意。


你可能感兴趣的:(STM32L433)