Cortex-M4之FPU单元

news2024/11/19 17:23:21

最近在学习实时操作系统,以下是我对学习实时操作系统过程中做的一些笔记。

一、FPU单元

在 Coretex-M4 处理器中有一个可选的单精度 FPU 单元,一般 STM32F429 就有 FPU 单元, 如果使能了 FPU 单元的话就可以使用它来对单精度浮点数进行计算, 双精度浮点数的计算仍然要使用到 C 运行库。

二、FPU寄存器

FPU 单元包含一系列的寄存器:
1、 CPACR 寄存器,在 SCB 块中
2、 浮点寄存器块, S0-S31
3、FPU 状态和控制寄存器: FPSCR
4、 其他的一些 FPU 寄存器

(1)CPACR寄存器

可以使能 FPU, CPACR 寄存器的地址为 0XE000ED88,我们也可以通过“SCB->CPACR”来访问 CPACR 寄存器, CPACR 寄存器的 bit0-bit19 和 bit24-bit31 不允许使用,为保留位,其中[20:21]为 CP10, [22:23]为 CP11。 我们通过设置 CP10 和 CP11 来开启 FPU,CP10 和 CP11 设置情况如表 2.2.1 所示,注意 CP10 和 CP11 都为 2bit

 默认情况下 CP10 和 CP11 都为 00,如果要使用 FPU 的话需要软件设置 CPACR 来开启FPU,通过设置 CP10 和 CP11 都为 11 来开启,实例代码如下:

SCB->CPACR|=0X00F00000; //使能 FPU

 (2)浮点寄存器块

浮点寄存器快包含 32 个 32 位的寄存器,这 32 个寄存器可以两两组合成一个 64 位的双精度寄存器,如图 所示。

说明:S0-S15 是 caller-saved 寄存器,如果一个应用 A 调用了另外一个应用 B,那么应用 A 在调
用 B 之前一定要保存这些寄存器
,因为在调用的时候这些寄存器会被改变。

S16-S31 被称callee-saved 寄存器,如果一个应用 A 调用应用 B,而且 B 需要大于 16 个寄存器来做计算,那么应用 B 就需要保存这些寄存器。并且在返回应用 A 的时候必须恢复这些寄存器。

三、Lazy Stacking 

对于 Cortex-M4 来说 Lazy Stacking 是一个重要的特性, 在使用 FPU 的情况下,不使用这个特性会在异常处理的时候消耗 29 个时钟周期, 因为要将 25 个寄存器压栈,以前只需要将 8个压栈。

如果使用 Lazy Stacking 这个特性的话,那么在异常处理的时候只需要消耗 12 个时钟周期, 默认情况下 Lazy Stacking 是使能的。 可以看出如果在任务切换中使用 Cortex-M4 的这个特性将会极大的提高任务切换的速度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1032066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mac配置iTerm样式终端

一、MacOs系统 MacOs中终端使用iTerm2 1. 配置oh-my-zsh oh my zsh 的地址: https//github.com/ohmyzsh/ohmyzsh 插件存放位置:~/.oh-my-zsh/plugins 下载常用的插件 git clone http://github.com/zsh-users/zsh-syntax-highlighting.git 修改配…

APP广告变现策略:如何实现盈利与用户体验的平衡?

如何把握流量变现和用户体验的平衡呢?这是许多 APP 开发者在商业化进程中都会关心并迫切需要解决的问题。以下是总结的一些方法和策略。 一、深入了解用户需求 在开发产品或进行商业决策时,我们要始终以用户需求为出发点。通过市场调研、用户调研和数据…

iterm2免密码连接远程服务器教程

iterm2免密码连接远程服务器 commandO:打开iterm的Profiles。如下图 打开:Edit Profiles,页面如下图 点击左侧底部➕ Send text at start位置写:/Users/XXX/iterm_login.sh 22 username 服务器ip password demo:/User…

01Redis的安装和开机自启的配置

安装Redis 单机安装Redis 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包(此处选择的Linux版本的CentOS 7) Windows版直接下载对应版本的.zip压缩包解压即可使用 第一步: Redis是基于C语言编写的,因此首先需要…

9.21数电(加法器状态机独热编码)

加法 半加器 一位,分为两部分,一个是进位,一个是单位上的和 进位采取与门,单位上的和用异或门 全加器 进位数就是三个数进行加和,通过与门,就是两两过与门 描述每位的和项就是,只去描述那个…

【js】navigator.mediaDevices.getDisplayMedia实现屏幕共享:

文章目录 一、效果图:二、实现思路:三、实现代码: 一、效果图: 二、实现思路: 文档: 【MDN】https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/mediaDevices web技术分享| WebRTC 实现屏幕共享 面试官:纯前端如何实现录屏并保存视频到本地&a…

Unity中Shader通道ColorMask

文章目录 [TOC](文章目录) 前言一、ColorMask是用来干什么的二、怎么做到和 Unity UI 中的 Shader 一样根据UI层级自动适配Shader中模板测试值1、借鉴Unity官方的 UI Shader 前言 Unity中Shader通道ColorMask 一、ColorMask是用来干什么的 ColorMask RGB | A | 0 | R、G、B、…

无法解析插件 org.apache.maven.plugins:maven-clean-plugin:3.2.0 尝试使用 -U

无法解析插件 org.apache.maven.plugins:maven-clean-plugin:3.2.0 尝试使用 -U 报错如下: 解决方案:在文件夹里面找到报错的文件,删除,然后刷新.pom文件,让maven重新下载即可

共享WIFI项目新时代:代理商如何玩转下半场?

在21世纪的信息化时代,科技的发展日新月异,人们的生活方式也随之发生了翻天覆地的变化。其中,共享经济作为一种新型的经济形态,正在全球范围内迅速发展。共享WiFi作为共享经济的一个重要组成部分,也在下半场的竞争中&a…

最佳开源DEM全国、省、市、县DEM数据分享

数据简介 哥白尼数字高程模型(Copernicus DEM, COP-DEM)由欧洲航天局发布,被行业公认为是目前最佳开源DEM,分辨率有30米和90米两种,该数据来源于WorldDEM,WorldDEM产品是基于0.4弧秒(对应分辨率10-12米)的TanDEM-X DEM处理后得到…

亚马逊,沃尔玛,塔吉特测评补单,撸卡撸货采退高成功率的技巧

做撸的只有在安全稳定的环境下才能不被平台检测,造成被砍单或F号,所以在没有专业团队指导下,建议大家不要轻易尝试,毕竟试错和时间成本才是最大的 亚马逊风控点很多,卖家和工作室想要实现伪装度足够高的环境&#xff…

qt creator创建项目和添加图片资源

目录 一、创建项目 二、放上需要的图片 三、再次打开项目 四、运行项目 一、创建项目 二、放上需要的图片 在创建的项目里新建一个文件夹,里面放上需要的图片 右击项目点击add new 去第一步加的图片的文件夹,把所有图片都加载进来 然后去ui文件里就可…

网络电视机顶盒怎么样?百元价位最佳网络机顶盒排名

网络电视机顶盒无疑是家家户户必备的,用网络机顶盒可以看电视,玩游戏,上网课,K歌,购物等,你认为网络电视机顶盒怎么样?值不值得买?本期我盘点了百元价位段最佳网络机顶盒排名&#x…

基于HTML5架构的综合管廊系统网络结构设计

摘 要:从网络拓扑结构、开放式实时以太网协议、控制层系统配置方面介绍了综合管廊的系统网络架构设计,分析了无线网络特性,阐述了基于HTML5架构所能实现的功能的初步构想,以便于综合管廊运维人员巡检,确保管廊本体安全…

Splashtop 的卓越安全性获得 ISO 27001 认证

在快速发展的数字环境中,实施强有力的安全措施尤为重要。Splashtop 始终优先考虑安全性,一如既往地在远程访问行业坚持以身作则。 我们最近宣布 Splashtop 已获得 ISO/IEC 27001 认证,证明了我们对信息安全、数据保护和合规性最高标准的坚定…

BSV 上用于通用计算的隐私非交互式赏金

如何安全地外包任何计算 我们提出了一种新颖的赏金机制,可以在区块链上安全私密地外包任意计算。解决方案和付款的交换是原子的和无需信任的:赏金发布者获得解决方案而赏金收集者获得奖励,或者两者都不发生。赏金发布者部署一个智能合约&…

CTF--攻防世界-杂项入门第一课

这是第一次接触杂项这个方向,所以就是根据writeup解的题,没有什么自己的思路,只是写一篇文章来记录一下解题过程。 下载题目后拿到一张图片,确实挺迷惑的,不知从何下手,根据大家的思路都是看看有没有隐写&a…

如何提升网站排名优化(百度SEO优化,轻松提升排名)

在当今互联网时代,拥有一个优秀的网站是很重要的。而一个网站如果能够在搜索引擎上的排名很靠前,那么将会带来更多的流量、更多的用户和更多的利润。那么如何提升网站排名优化呢?蘑菇号www.mooogu.cn 百度SEO优化的5个规则 1.关键词选取要合…

嵌入式MCU都有什么高级用法?

嵌入式MCU都有什么高级用法? 您举的几个例子,确实是MCU外设的一些高端玩法。只是不知道您是否想过,既然这些机制是被 人设计出来的,那它就是种标准用法。从微控制器的发展历程来看,许多硬件机制都是有了实际 需求后才…

面的嵌入式基础知识总结

面的嵌入式基础知识总结 做嵌入式系统开发,经常要接触硬件。做嵌入式开发对数字电路和模拟电路要有一定的了解。 这样才能深入的研究下去。下面我们简单的介绍嵌入式开发中的一些硬件相关的概念。 最近很多小伙伴找我,说想要一些嵌入式机学习资料&…