STM32开启浮点运算单元FPU与DSP运算库,附性能测试

news/2025/3/20 18:16:23/

 STM32F4xx属于Cortex M4F架构,自带FPU硬件,可以加速float类型数据的加减乘除运算。

 

观察启动文件,发现,要启用FPU,需要启动满足两个宏:(__FPU_PRESENT == 1) && (__FPU_USED == 1)

在keil的魔术棒中,如上图所示,直接选中单精度浮点运算器,keil就会自动把所需的宏给定义出来。如何验证是否开启成功?

验证方法1:

我们把F407主频设为168M,不选中/选中FPU,分别做10万次乘法:发现耗时分别为32153us、5954us,发现耗时缩短为1/6.性能提升显著,说明开启FPU成功了。

验证方法2:

进入debug模式,或者直接查看汇编文件,发现C语言乘法运算,被编译成了V打头的汇编乘法命令,说明开启成功。

 

FPU只能加速float的基本运算,还有一些数学函数,不是光靠FPU就能加速的,例如sin、cos、等函数,ST和ARM提供了优化过的三角函数等,使用插值方法加速运算,要想使用这些优化过的函数

 

 

 

 

 

 

 

 

 

 

 

 


http://www.ppmy.cn/news/630830.html

相关文章

STM8 fHSI和 fCPU分频

STM8时钟分频寄存器(CLK_CKDIVR) 位说明位7:5保留。始终为0。位4:3HSIDIV[1:0]:高速内部时钟预分频器由软件写入,用于指定HSI分频因子。00:fHSIfHSI RC输出01:fHSIfHSI RC输出/210:fHSIfHSI RC输出/411:f…

CPU高速缓存

在计算机系统中,CPU高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存&#xff0c…

FAT16文件系统结构扇区数据分析

FAT,英文为File Allocation Table,文档分配表。先要记住几个概念: 扇区:一般扇区为512个字节。 簇:由若干个扇区组成,是存取数据的最小单位。如果簇大小为16K,文件大小为1字节,那也要…

让QSPI FLASH(W25Q64)支持Fatfs文件系统

今天是过年放假的第一天(一共16天年假),但是说实话放不放假对我们做技术的人来说有放跟没放其实区别不大,因为自驱力是我们维持自身实力和饭碗的根本,16天的假期可以做很多事情学不少东西了,唯一的区别是终于可以好好睡个觉了,然后睡醒接着干就完了!想着小熊派板子上带了…

linux cpufreq 设置

文章目录 参考 在跑benchmark的时候,想要得到相对稳定的结果,不过系统对cpu的调频可能会对测试产生影响。可以通过设置修改CPU 的速度,详细的说明可以参考 [1]。下图是跑benchmark的时候的warning。 在Ubuntu 20.04中,可以通过修…

STM32的FATFS文件系统

STM32的FATFS文件系统 一、FATFS简介 文件系统是为了存储和管理数据,而在存储介质建立的一种组织结构,这些结构包括操作系统引导区、目录和文件。常见的 windows 下的文件系统格式包括 FAT32、NTFS、exFAT。在使用文件系统前,要先对存储介质进…

1.Linux中超频及cpufreq相关汇总

1.蛤蟆笔记UNIX高级编程——cpufreq相关汇总 其中一些内容摘自网络,此处蛤蟆根据自己阅读习惯和理解进行了一些汇总整理。 随着 energyefficient computing 和 performance per watt 等概念的推广以及高级配置与电源接口ACPI(Advanced Configuration and Power In…

CPU调度算法——FCFS算法/SJF算法/优先级调度算法/RR算法

文章目录 一、先来先服务(FCFS)调度算法二、最短作业优先(SJF)算法1. 非抢占式SJF2. 抢占式SJF 三、优先级调度算法1. 非抢占式优先级调度算法2. 抢占式优先级调度算法 四、时间片轮转(RR)算法五、多级队列…