自学内容网 自学内容网

STM32使用DSP库 Keil方式添加


前言

添加DSP有两种方案,本文采用的是是Keil 中添加。


一、添加DSP库

在创建好的工程中添加DSP库:步骤如下:
在这里插入图片描述
步骤1:选择运行环境管理;
步骤2:选择需要添加DSP库,此处使用Library的方式添加。

添加成功后,在工程中的显示如下:
在这里插入图片描述
注意:添加库的名称必须是arm_cortexM4lf_math.lib,否则会有问题。
注:‘b’表示大端格式(Big Endian),‘l’表示小端格式(Little Endian),‘f’表示带浮点数。

二、使能FPU及配置

1. 使能FPU

选择魔法棒,配置FPU。
在这里插入图片描述

2. 增加编译的宏

在这里插入图片描述
增加编译选项,ARM_MATH_CM4 根据对应的芯片进行修改:F1是M3,F4是M4,H7是M7

ARM_MATH_CM4

注意:如果没有添加ARM_MATH_CM4,则在编译的时候会出现如下错误:

..\Drivers\CMSIS\DSP\Include\arm_math.h(341): error:  #35: #error directive: "Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS, ARM_MATH_CM0, ARM_MATH_ARMV8MBL, ARM_MATH_ARMV8MML"
    #error "Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS, ARM_MATH_CM0, ARM_MATH_ARMV8MBL, ARM_MATH_ARMV8MML"
..\Core\Src\App\AppTaskMain.c: 0 warnings, 1 error

注意:新版CMSIS库可能需要定义__TARGET_FPU_VFP=1和ARM_MATH_CM4等宏来启用FPU。如果提示错误缺少FPU,则需要添加如下宏:

__TARGET_FPU_VFP,__FPU_PRESENT=1U

3.增加头文件的检索路径

在这里插入图片描述
在这里插入图片描述
增加DSP的头文件检索路径,注意该路径为:…\Drivers\CMSIS\DSP\Include
否则会出现大量的错误,如下所示:

C:\Users\qinbo\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\DSP\Include\arm_math.h(6491): error:  #65: expected a ";"
      int32_t i;                                   

原文地址:https://blog.csdn.net/qinbo1234567890/article/details/145212235

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!