stm32单片机应用ucOS III ,操作浮点数导致死机解决方法
ucOS III 的浮点数导致死机
解决方法:
1、启动文件Reset_Handler修改成:
Reset_Handler PROCEXPORT Reset_Handler [WEAK]IMPORT __main; Enable Floating Point Support at reset for FPULDR.W R0, =0xE000ED88 ; Load address of CPACR registerLDR R1, [R0] ; Read value at CPACRORR R1, R1, #(0xF <<20)
; Set bits 20-23 to enable CP10 and CP11 coprocessors; Write back the modified CPACR valueSTR R1, [R0] ; Wait for store to completeDSB; Disable automatic FP register content; Disable lazy context switchLDR.W R0, =0xE000EF34 ; Load address to FPCCR registerLDR R1, [R0]AND R1, R1, #(0x3FFFFFFF) ; Clear the LSPEN and ASPEN bitsSTR R1, [R0]ISB ; Reset pipeline now the FPU is enabledLDR R0, =__mainBX R0ENDP
2、修改os_cpu.c文件中OSTaskStkInit 函数涉及的宏定义
#if (OS_CPU_ARM_FP_EN == DEF_ENABLED)if ((opt & OS_OPT_TASK_SAVE_FP) != (OS_OPT)0) {*--p_stk = (CPU_STK)0x02000000u; /* FPSCR *//* Initialize S0-S31 floating point registers */*--p_stk = (CPU_STK)0x41F80000u; /* S31 */
......*--p_stk = (CPU_STK)0x00000000u; /* S0 }
将OS_CPU_ARM_FP_EN 定义为 DEF_ENABLED,另外OSTaskCreate 函数创建任务时将opt参数OS_OPT_TASK_SAVE_FP使能打开。
stm32单片机应用ucOS III ,操作浮点数导致死机解决方法相关推荐
- linux打开火狐浏览器就死机,firefox火狐浏览器卡死导致死机解决方法
死机是我们使用电脑时经常会遇到的.也是最令我们头痛的问题,而最近就有很多小伙伴反映firefox火狐浏览器卡死导致死机,遇到这种情况我们具体该怎么解决呢?下面就由学习啦小编跟大家分享一下解决方法吧,欢 ...
- 单片机反复进入休眠唤醒导致死机问题-辉芒微FMD 62F80X
单片机反复进入休眠唤醒导致死机问题-辉芒微FMD 62F80X 辉芒微FMD 62F80X芯片出现了按键反复开机关机操作,反复进入休眠退出,会有死机现象,死机后有时会几秒几十后自动唤醒, 有时候发现唤 ...
- emwin之错误使用控件函数导致死机现象
@2018-10-15 导致死机的代码示例如下 1 /** 2 * @brief widget ID define 3 * @{ 4 */ 5 6 #define ID_WINDOW_0 (GUI_I ...
- ucos系统使用delay函数死机原因
delay函数,占用了stm32的时钟 ucos需要靠stm32的时钟来调度任务 用裸机得delay就剥夺了ucos的时钟,所以死机 ucos ii 系统应该使用OSTimeDlyHMSM(0,0,0 ...
- 看视频导致死机只能强制重启电脑吗
随着互联网的发展,人们越来越多地使用电脑观看视频.然而,由于各种原因,看视频时出现死机现象也逐渐成为了一种常见问题. 看视频死机通常会出现在使用电脑或移动设备观看视频时,包括在线视频.本地视频等.这种 ...
- 【Windows】打印机操作无法完成(错误0x00000709)解决方法
win11是微软的最新发布的操作系统,系统中有着强大的功能,最近去发现你的设备无法连接到你的打印机设备,出现上述问题的是因为发生了0x00000709的错误,这个错误该怎么解决呢? 操作无法完成(错误 ...
- winform频繁刷新导致界面闪烁解决方法
winform频繁刷新导致界面闪烁解决方法 参考文章: (1)winform频繁刷新导致界面闪烁解决方法 (2)https://www.cnblogs.com/arxive/p/6270007.htm ...
- STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!
STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法! 参考文章: (1)STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法! (2)https://www.cnblogs.com/ ...
- 加mp4文件后js失效_Jquery方法load之后导致js失效解决方法
Jquery方法load之后导致js失效解决方法 >>>>>>>>>>>>>>>>>>> ...
最新文章
- wordpress mysql 安装_wordpress 搭建安装教程 1 安装数据库、SQLyog
- 关于redis的文章
- 你的灯亮着吗阅读笔记之一
- 840. 模拟哈希表(模板)
- MOOS学习笔记1——HelloWorld
- 16.高性能MySQL --- MySQL用户工具
- BMFont把美术图片(汉字,数字,字母)字生成艺术字体fnt格式
- 操作 神通数据库_神通数据库OGDCProvider使用手册.PDF
- -XX:SurvivorRatio 命令解释
- linux五笔输入法制作_在linux下制作拼音五笔输入法
- linux磁盘管理——quota磁盘配额GPT分区
- 简述python 的模块的分析
- 服务器协议 重发 回包 039,3情报板预置播放表、位图一览表.doc
- Sentry 企业级数据安全解决方案 - Relay PII 和数据清理
- SEO快排是什么?怎样实现快排?
- web前端学习笔记(二)
- Java中的抽象方法是什么,怎么用?
- 鼠友题库每日百题(十)
- Unity Fog 原理 源码分析 案例
- python人狗大战游戏_python入门教程NO.10「奇异博士大战灭霸」游戏,面向对象编程实战...
热门文章
- ifconfig常用命令
- Ue4 使用lpv快速增强间接光照效果
- 996是互联网“打工人”的宿命?
- 「首度揭秘」大规模HPC生产环境 IO 特征
- 数据结构与c语言程序设计 考研,2017年东北大学软件学院858C语言程序设计与数据结构考研题库...
- Linux开发十五_lcd驱动
- 零基础教你玩转Django之03篇 —— 完善Gua的API,分页和POST请求
- 编译原理实验Sicily--LR(K) 语法分析程序
- Perl——正则表达式
- MSISDN(Mobile Subscriber International ISDN/PSTN number)