IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于G474RE的DSP库导入与简单应用 -> 正文阅读

[嵌入式]基于G474RE的DSP库导入与简单应用

????????CMSIS-DSP库是由ARM公司提供的一个信号处理算法库,所有使用ARM内核的单片机都可以调用相应的库,当然也包括STM32。在信号处理方面,DSP库自带的FFT,FIR,IIR等函数具有丰富的实际应用。

? ? ? ? 本文采用的STM32G474RET6芯片基于Arm Cortex-M4内核,采用的DSP库有以下几种

?????????? * - 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)

? ? ? ? 其中大端(Big endiam)和小端(Little endian)的区别为:

????????大端(Big endiam):低地址存放高有效字节

????????小端(Little endian):低地址存放低有效字节

? ? ? ? 其中浮点运算单元(Floating Point Unit,FPU)

????????arm_cortexM4X_math.lib(不带浮点运算单元)

????????arm_cortexM4Xf_math.lib(带浮点运算单元)

通过STM32CubeMX添加DSP库

1.进入库选择界面

2.选择DSP库

3.使能DSP库

4.生成工程(本人使用keil5编译器)

?

????????此时DSP库已经添加,但默认添加的静态库文件为arm_cortexM4I_math.lib,无法进行浮点运算,需要进行浮点数运算则需要添加arm_cortexM4If_math.lib静态库,需要的库文件可以从下方百度网盘分享中下载

百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1MEPOgfqYL0TDU8rkXkdLiw?pwd=p1p9

5.头文件引入

?6.宏定义添加

ARM_MATH_CM4,__CC_ARM,__TARGET_FPU_VFP,__FPU_PRESENT=1

?

?说明:

?arm_math.h 中说明需要宏定义内核类型,此处选择添加ARM_MATH_CM4

?core_cm4.h 中说明,打开FPU需要添加三条宏定义

__CC_ARM,__TARGET_FPU_VFP,__FPU_PRESENT=1

?

完成上述六步,DSP库就已经添加完成,之后就可应用其中的函数,具体的函数说明可以参考官方网站,CMSIS-DSP文档,此处我们仅测试最简单的arm_sin_f32()函数,验证DSP库函数导入

CMSIS DSP Software Library (arm-software.github.io)icon-default.png?t=M3K6https://arm-software.github.io/CMSIS_5/DSP/html/index.html

结果验证

int i=0;
float sine[128];
for(i=0;i<128;i++)
{
	sine[i]=arm_sin_f32(2*PI/128*i);
}

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:11:22  更:2022-05-06 11:12:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 0:59:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码