打印
[ZLG-ARM]

UCOS任务切换时关于寄存器入栈的疑问

[复制链接]
2286|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cbqcgq|  楼主 | 2007-7-22 20:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zlgARM| | 2007-7-24 17:51 | 只看该作者

cbqcgq

您好:
    中断也好,任务切换也好,都是指当前任务的控制权要让渡给另一任务。我们预期,另一任务执行完后,应该恢复当前任务的执行。
    那么,我们就需要在执行另一任务之前,保存当前任务的重要信息,以便恢复当前任务的执行。被入栈保护的寄存器中就存储了这些重要信息的一部分。
    详情请参考《ARM嵌入式系统基础教程》。

PS:
    当前任务环境一部分由用户保存到堆栈里,另一部分则由系统自动保存到备份寄存器里,CPSR被保存在SPSR里、PC则处理一下后保存到LR。所以任务环境的保存是由系统和用户协力完成的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

53

帖子

1

粉丝