STM32CubeIDE移植ARM DSP库

简介: STM32CubeIDE移植ARM DSP库



找到DSP库路径

C:\Users\Administrator\STM32Cube\Repository\STM32Cube_FW_F4_V1.25.2\Drivers\CMSIS\DSP\Source




移植



将上述路径下的Include文件夹中的三个文件添加到STM32CubeIDE工程目录下的Core->inc文件夹下,如图:





添加相应的DSP库源文件


如该例程中我们需要使用FFT,因此,将FFT的文件夹“TransformFunctions”放入工程目录下Core->src文件夹下,如图:



添加全局宏定义

编译问题

到此,可以编译我们的工程文件,会出现以下错误:


这是提示我们在编译代码的时候发现“__FPU_PRESENT”这个宏定义未定义,但是实际上,这个宏在“stm32f407xx.h”(我使用的是STM32F407)中已经定义了,如果这个时候像上一步一样添加一个全局变量后该问题确实可以解决,但是会出现重复定义的错误。

该问题产生的原因在于,由于“core_cm4.h”中使用了“__FPU_PRESENT”这个宏,但是在编译之前没有先编译“stm32f407xx.h”导致。而“core_cm4.h”不仅仅在“stm32f407xx.h”中定义了,还在所有调用“arm_math.h”中调用,因此在调用“arm_math.h”时会出现问题。

既然知道问题所在,解决起来也很简单了,只需要在调用“arm_math.h”之前,先包含“stm32f407xx.h”文件即可,搜索整个工程目录看到“arm_math.h”被多次调用,因此为了简便,我们在“arm_math.h”中添加“stm32f407xx.h”头文件,问题得到解决。



好啦,大功告成啦!

相关文章
|
存储
【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(二)
【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(二)
583 0
|
存储 芯片
【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(一)
【TFT彩屏移植】STM32F4移植1.8寸TFT彩屏简明教程(一·)
701 0
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
1676 2
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
1972 0
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
732 21
|
数据安全/隐私保护
STM32CubeMX U8g2移植
STM32CubeMX U8g2移植
787 12
|
传感器
手把手在STM32F103C8T6上构建可扩展可移植的DHT11驱动
【8月更文挑战第29天】本文详细介绍在STM32F103C8T6上构建可扩展且可移植的DHT11温湿度传感器驱动的步骤,包括硬件与软件准备、硬件连接、驱动代码编写及测试。通过这些步骤,可根据实际项目需求优化和扩展代码。
852 0
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
1270 4