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 ,操作浮点数导致死机解决方法相关推荐

  1. linux打开火狐浏览器就死机,firefox火狐浏览器卡死导致死机解决方法

    死机是我们使用电脑时经常会遇到的.也是最令我们头痛的问题,而最近就有很多小伙伴反映firefox火狐浏览器卡死导致死机,遇到这种情况我们具体该怎么解决呢?下面就由学习啦小编跟大家分享一下解决方法吧,欢 ...

  2. 单片机反复进入休眠唤醒导致死机问题-辉芒微FMD 62F80X

    单片机反复进入休眠唤醒导致死机问题-辉芒微FMD 62F80X 辉芒微FMD 62F80X芯片出现了按键反复开机关机操作,反复进入休眠退出,会有死机现象,死机后有时会几秒几十后自动唤醒, 有时候发现唤 ...

  3. emwin之错误使用控件函数导致死机现象

    @2018-10-15 导致死机的代码示例如下 1 /** 2 * @brief widget ID define 3 * @{ 4 */ 5 6 #define ID_WINDOW_0 (GUI_I ...

  4. ucos系统使用delay函数死机原因

    delay函数,占用了stm32的时钟 ucos需要靠stm32的时钟来调度任务 用裸机得delay就剥夺了ucos的时钟,所以死机 ucos ii 系统应该使用OSTimeDlyHMSM(0,0,0 ...

  5. 看视频导致死机只能强制重启电脑吗

    随着互联网的发展,人们越来越多地使用电脑观看视频.然而,由于各种原因,看视频时出现死机现象也逐渐成为了一种常见问题. 看视频死机通常会出现在使用电脑或移动设备观看视频时,包括在线视频.本地视频等.这种 ...

  6. 【Windows】打印机操作无法完成(错误0x00000709)解决方法

    win11是微软的最新发布的操作系统,系统中有着强大的功能,最近去发现你的设备无法连接到你的打印机设备,出现上述问题的是因为发生了0x00000709的错误,这个错误该怎么解决呢? 操作无法完成(错误 ...

  7. winform频繁刷新导致界面闪烁解决方法

    winform频繁刷新导致界面闪烁解决方法 参考文章: (1)winform频繁刷新导致界面闪烁解决方法 (2)https://www.cnblogs.com/arxive/p/6270007.htm ...

  8. STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!

    STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法! 参考文章: (1)STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法! (2)https://www.cnblogs.com/ ...

  9. 加mp4文件后js失效_Jquery方法load之后导致js失效解决方法

    Jquery方法load之后导致js失效解决方法 >>>>>>>>>>>>>>>>>>> ...

最新文章

  1. wordpress mysql 安装_wordpress 搭建安装教程 1 安装数据库、SQLyog
  2. 关于redis的文章
  3. 你的灯亮着吗阅读笔记之一
  4. 840. 模拟哈希表(模板)
  5. MOOS学习笔记1——HelloWorld
  6. 16.高性能MySQL --- MySQL用户工具
  7. BMFont把美术图片(汉字,数字,字母)字生成艺术字体fnt格式
  8. 操作 神通数据库_神通数据库OGDCProvider使用手册.PDF
  9. -XX:SurvivorRatio 命令解释
  10. linux五笔输入法制作_在linux下制作拼音五笔输入法
  11. linux磁盘管理——quota磁盘配额GPT分区
  12. 简述python 的模块的分析
  13. 服务器协议 重发 回包 039,3情报板预置播放表、位图一览表.doc
  14. Sentry 企业级数据安全解决方案 - Relay PII 和数据清理
  15. SEO快排是什么?怎样实现快排?
  16. web前端学习笔记(二)
  17. Java中的抽象方法是什么,怎么用?
  18. 鼠友题库每日百题(十)
  19. Unity Fog 原理 源码分析 案例
  20. python人狗大战游戏_python入门教程NO.10「奇异博士大战灭霸」游戏,面向对象编程实战...

热门文章

  1. ifconfig常用命令
  2. Ue4 使用lpv快速增强间接光照效果
  3. 996是互联网“打工人”的宿命?
  4. 「首度揭秘」大规模HPC生产环境 IO 特征
  5. 数据结构与c语言程序设计 考研,2017年东北大学软件学院858C语言程序设计与数据结构考研题库...
  6. Linux开发十五_lcd驱动
  7. 零基础教你玩转Django之03篇 —— 完善Gua的API,分页和POST请求
  8. 编译原理实验Sicily--LR(K) 语法分析程序
  9. Perl——正则表达式
  10. MSISDN(Mobile Subscriber International ISDN/PSTN number)