使用STM32的DSP库时,遇到的一个bug

2023-10-27

Bug提示如下

../Drivers/CMSIS/Include/core_cm4.h(81): error:  #35: #error directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"

	奇怪,为什么那块代码就不应该编译,为什么会报错呢?
	而且,我明明已经定义
			#define __FPU_PRESENT             1U       /*!< FPU present

在这里插入图片描述

  进过一个晚上的,智障乱试,发现C语言编译器在编译头文件(.h)时,是按照它在C文件中出现的顺序来编译的。也就是说,它可能先编译的core_cm4.h,然后再编译stm32f405xx.h。这也就意味着,在编译core_cm4.h时,它不认为__FPU_PRESENT被宏定义了。
  解决方法很简单,把stm32f405xx.h放到arm_math.h前面(doge)。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用STM32的DSP库时,遇到的一个bug 的相关文章

  • 以字符串形式接收数字(uart)

    我正在尝试通过 uart 接收一个包装为字符串的数字 我发送数字 1000 所以我得到 4 个字节 空字符 但是 当我使用 atoi 将数组转换为数字并将整数与 1000 进行比较时 我并不总是得到正确的数字 这是我用于接收号码的中断处理函
  • 140-基于stm32单片机智能晾衣杆控制系统Proteus仿真+源程序

    资料编号 140 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 光敏传感器 蜂鸣器 LED灯 制作一个基于stm32单片机智能晾衣杆控制系统Proteus仿真 2 通过光敏传感器
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • 匹配 STM32F0 和 zlib 中的 CRC32

    我正在研究运行 Linux 的计算机和 STM32F0 之间的通信链路 我想对我的数据包使用某种错误检测 并且由于 STM32F0 有 CRC32 硬件 并且我在 Linux 上有带有 CRC32 的 zlib 所以我认为在我的项目中使用
  • HAL库学习

    CMSIS简介 CMSIS Cortex Microcontroller Software Interface Standard 微控制器软件接口标准 由ARM和其合作的芯片厂商 ST NXP 软件工具厂商 KEIL IAR 共同制定的标准
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • Freertos低功耗管理

    空闲任务中的低功耗Tickless处理 在整个系统运行得过程中 其中大部分时间都是在执行空闲任务的 空闲任务之所以执行 因为在系统中的其他任务处于阻塞或者被挂起时才会执行 因此可以将空闲任务的执行时间转换成低功耗模式 在其他任务解除阻塞而准
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • 核心耦合内存在 STM32F4xx 上可执行吗?

    尝试从 STM32F429s CCM 运行代码 但每当我命中 CCM 中的第一条指令时 我总是会遇到硬故障 并且 IBUSERR 标志被设置 该指令有效且一致 STM32F4xx 是否可能不允许从 CCM 执行 数据访问效果良好 alios
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • STM32F4 定时器 - 计算周期和预分频,以生成 1 ms 延迟

    我在用STM32F407VGT6 with CubeMX 因此 我从通用定时器开始 但我被预分频值和周期值所困扰 基本上我想每隔一段时间生成一个定时器中断n 其中 n 1 2 3 ms 并执行一些任务 计算周期和预分频值的公式有很多变化 公

随机推荐

  • 数据挖掘——基于sklearn包的分类算法小结

    目录 一 分类算法简介 二 KNN算法 三 贝叶斯分类算法 四 决策树算法 五 随机森林算法 六 SVM算法 一 分类算法简介 1 概念 1 1 监督学习 Supervised Learning 从给定标注 训练集有给出明确的因变量Y 的训
  • 一次「找回」TraceId的问题分析与过程思考

    用好中间件是每一个开发人员的基本功 一个专业的开发人员 追求的不仅是中间件的日常使用 还要探究这背后的设计初衷和底层逻辑 进而保证我们的系统运行更加稳定 让开发工作更加高效 结合这一主题 本文从一次线上告警问题出发 通过第一时间定位问题的根
  • 信息学奥赛一本通 1179:奖学金

    题目链接 http ybt ssoier cn 8088 problem show php pid 1179 include
  • mysql存储区块链_区块链数据是存在链上还是数据库里?

    在回答这个问题之前 首先要理清 区块链数据 和 链上数据 的概念 区块链数据 区块链数据 广义上包括区块链的区块数据和区块链的状态数据 区块数据记录了区块链上发生的每一笔交易 譬如小明给小王转账了50元 小王充值了20元等类似这样的交易数据
  • A+B PLUS

    大整数加法 思路 把每一位存在数组里 相加 遇10进1 include
  • 基本原理图的制作

    以一个案例演示 完成以下要求 1 采用网络标号进行元件间的连线 2 单独修改元件的封装 标称值等参数 3 采用自动编号的方法对原理图中所有元件进行整体编号 4 修改原理图中相同元器件的封装值 5 完成附图所示原理图的制作 步骤 1 创建文件
  • 『学Vue2+Vue3』Vuex 是什么?vuex 的使用

    一 Vuex 概述 目标 明确Vuex是什么 应用场景以及优势 1 是什么 Vuex 是一个 Vue 的 状态管理工具 状态就是数据 大白话 Vuex 是一个插件 可以帮我们管理 Vue 通用的数据 多组件共享的数据 例如 购物车数据 个人
  • cmake安装与使用

    目录 1 下载与安装 2 Cmake使用 2 1 在window 开始 中点击cmake gui exe 打开cmake程序面板 2 2打开需要编译的cmake代码工程 环境 Windows10 64bit 1 下载与安装 下载地址 htt
  • Web应用程序项目以配置使用IIS。未找到Web服务器

    针对这个问题 本人也从网上找了一下解决办法 但是不是太全面 接下来我会总结一下我所用到过的方法 1 在文件夹下面编辑该Web项目的csproj文件 把UserIIS改为False 2 可以在IIS服务器里面配置一个IISUrl里面的地址 地
  • find、grep--根据内容找文件

    1 可以找到相关的文件名或目录名所在的位置 find name file or dir name linux下的find文件查找命令与grep文件内容查找命令 云社区 华为云 2 找出文本文件的位置 并找出内容包含 关键字 的文件 find
  • 解决vue安装less-loader依赖失败的问题

    vue可视化面板中提供的less loader依赖安装失败 倒是以下代码识别不了 出现错误信息 还有一种情况就是在vue cli视图中安装的less loade版本过高 10 1 0 在我们运行项目时 虽然已经安装了 但是版本过高 出现了不
  • typescript环境安装及IDEA配置typescript

    一 typescript环境安装 1 安装node npm 下载官网安装包 http nodejs cn download 双击运行 2 安装完node npm后 查看是否安装成功 node v npm v 3 安装typescript n
  • es--module模块

    一 初识Module 模块 一个一个的局部作用域的代码块 模块系统需要解决的主要问题 模块化的问题 消除全局变量 管理加载顺序 Module的基本用法 import export 只要你会用到 import 导入 或 export 导出 在
  • SpringBoot基础(1)

    目录 SpringBoot基础 1 SpringBoot基础 2 SpringBoot基础 3 1 hello world 相当简单 pom xml文件中配置
  • c语言写60秒关机小程序,输入我是猪才可关闭:整蛊你的朋友吧

    若想要让朋友不知情的情况下上当 可以在vs环境下 选择左上角把Debug版本改为Release版本运行 然后在我的电脑中此文件夹下点开release文件中的exe程序发给朋友 别轻易改数据 关机程序小游戏 goto语句运用 1 电脑运行起来
  • Python 进阶:函数装饰器

    一 前言 本小节主要梳理函数装饰的用法 循序渐进 逐层增加条件 加大复杂度和难度 环境说明 Python 3 6 windows11 64位 二 函数装饰器 装饰器的典型行为 把被装饰的函数替换成新函数 二者接受相同的参数 而且 通常 返回
  • flutter报错: Class ‘kotlin.Unit’ was compiled with an incompatible version of Kotlin.

    Class kotlin Unit was compiled with an incompatible version of Kotlin The binary version of its metadata is 1 5 1 expect
  • 简单的shell 脚本

    简单的shell 脚本 1 shell编程 编写shell脚本 2 执行方法 2 1 sh执行 sh log sh 2 2 执行 log sh 注意 需要先保证log sh文件有可执行的权限 chmod u x log sh 3 固定格式
  • vmware workstation的镜像文件下载

    今天安装了vmware workstation虚拟机 然后需要镜像文件 我就下载了迅雷精简版 说实话这个迅雷精简正好 然后下载了win10和win8的镜像文件 之前得下载地址不能用了 哎下次加上去
  • 使用STM32的DSP库时,遇到的一个bug

    Bug提示如下 Drivers CMSIS Include core cm4 h 81 error 35 error directive Compiler generates FPU instructions for a device wi