当前位置: 首页 > news >正文

STM32使用DSP库 Keil方式添加

文章目录

  • 前言
  • 一、添加DSP库
  • 二、使能FPU及配置
    • 1. 使能FPU
    • 2. 增加编译的宏
    • 3.增加头文件的检索路径
  • 三. 验证
    • 1. 源码中添加
    • 2.代码测试


前言

添加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;                                   
http://www.lryc.cn/news/523279.html

相关文章:

  • 【机器学习实战入门项目】MNIST数字分类机器学习项目
  • 利用 LNMP 实现 WordPress 站点搭建
  • 模块化架构与微服务架构,哪种更适合桌面软件开发?
  • 2025.1.17——1200
  • vite工程化
  • Mysql常见问题处理集锦
  • Android SystemUI——CarSystemBar添加到窗口(十)
  • 《重生到现代之从零开始的C++生活》—— 类和对象1
  • 《FMambaIR:一种基于混合状态空间模型和频域的方法用于图像恢复》学习笔记
  • 每日十题八股-2025年1月18日
  • 海康威视摄像头RTSP使用nginx推流到服务器直播教程
  • 搭建一个基于Spring Boot的书籍学习平台
  • Go 语言的slice是如何扩容的?
  • Apache Hive--排序函数解析
  • Java 接口安全指南
  • 合合信息名片全能王上架原生鸿蒙应用市场,成为首批数字名片类应用
  • 38.【3】CTFHUB web sql 报错注入
  • RC2在线加密工具
  • NVIDIA 下 基于Ubuntun20.04下 使用脚本安装 ros2-foxy 和 使用docker安装 ros2-foxy
  • STL容器-- list的模拟实现(附源码)
  • python——句柄
  • KubeSphere 与 Pig 微服务平台的整合与优化:全流程容器化部署实践
  • ESP8266-01S、手机、STM32连接
  • Web开发 -前端部分-CSS-2
  • 【QT用户登录与界面跳转】
  • 记录一次关于spring映射postgresql的jsonb类型的转化器事故,并使用hutool的JSONArray完成映射
  • 基于 HTML5 Canvas 制作一个精美的 2048 小游戏--day2
  • Django框架:python web开发
  • MySQL、HBase、ES的特点和区别
  • 联发科MTK6762/MT6762安卓核心板_4G智能模块应用