硬汉嵌入式论坛

 找回密码
 立即注册
楼主: eric2013
收起左侧

【安富莱】基于STM32-V5开发板的μCOS-III教程发布记录(2014-03-17更新1-11期)

  [复制链接]

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2022-5-30 17:06:33 | 显示全部楼层
在这个教程文档里5.4.2,page 74,底部有段话“Task0 任务要放在这个函数里面,要不出现硬件异常,造成这个问题的原因就在于从主堆栈指针MSP 切换到进程堆栈指针 PSP。在 main 函数中调用子函数 OS_Start 后部分寄存器会入栈,如果在这个子程序中做堆栈指针切换,退出的时候是用的 PSP 而不是 MSP,用 MSP 入栈的寄存器数据将无法返回,从而造成失败。”有些不能理解,假如Task0()不放在OS_Start里面,放在哪里会造成hardfault,或者你的意思是直接把它删除?
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 6 天前 | 显示全部楼层
very nice,thanks for sharing。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-24 13:42 , Processed in 0.157933 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表