Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
float_double_fpu浮点运算
lazy_stack
[优化]cortex-m4f线程切换,优化FPU寄存器
2.00
发布于 2013-06-23 16:08:45 浏览:820
订阅该版
cortex-m4相对比cortex-m3,在线程上下文切换中,主要增加了FPU寄存器,总共需要保存34个寄存器,合计136byte。 因此原来在cortex-m3上面运行的程序在cortex-m4f上面运行时需要增加至少136字节的栈空间。 在实际应用中,并不是每个任务都需要浮点运算。所以可以对其进行优化,只为需要使用FPU的线程保存FPU寄存器。 笔记: 当应用程序中使用了FPU后,`CONTROL.FPCA`会置位; 当进入中断ISR以后,会清除`CONTROL.FPCA`,并在LR的第4位反应`CONTROL.FPCA`的状态; 当退出中断ISR时,也会根据LR的第4位来更新`CONTROL.FPCA`。 因此,在线程上下文切换中: 保存原线程时,根据LR的第4位即可判断应用程序是否使用了FPU,并决定是否要保存FPU的寄存器; 切出新线程时,判断新的线程是否有使用FPU,并更新LR的第4位,以保存新的线程能正确运行。 ![M4F_FPU.jpg](/uploads/414_e3fe003578ae1e73ae1be5c940f342a0.jpg)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
aozima
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
文章
28
回答
4482
被采纳
381
关注TA
发私信
相关文章
1
stm32f4 在RT-Thread env环境中,配置和使用fpu的步骤?
2
RTT-STUDIO STM32F4 如何配置 开启FPU功能
3
studio下格式化输出函数对浮点数无效
4
FPU active! bus fault
5
sprintf和rt_kprintf浮点数问题
6
cortex-a7支持fpu问题
7
浮点运算被中断打断后返回后计算结果不正确,如何解决?
8
rt-thread系统中使用cortex-m4的FPU相关问题
9
结构体赋值浮点数失败
10
rtthread_studio 如何使用FPU?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
SFUD
msh
ulog
C++_cpp
MicroPython
本月问答贡献
三世执戟
5
个答案
1
次被采纳
RTT_逍遥
4
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
JonasWen
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
3
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部