电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>DSP>CPU上下文切换的详细资料讲解

CPU上下文切换的详细资料讲解

2019-08-16 | pdf | 0.19 MB | 次下载 | 1积分

资料介绍

  一 定义

  当UCOS-III转向执行另一项新任务的时候,他保存了当前任务的CPU寄存器到堆栈,并从新任务的堆栈CPU寄存器载入CPU,这个过程叫做上下文切换

  上下文切换需要一些开支,CPU的寄存器越多,开支越大。上下文切换的时间基本取决于有多少个CPU寄存器需要被存储和载入。上下文切换的代码是移植UCOS -II 时编写的,该部分代码要适用于处理器,这些代码被放在C和汇编文件中: OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。移植部分在下面会详细介绍,根据不同的CPU架构,移植的时候需要注意很多不部分细节。我们先来看一下常见CPU的结构:包含16个整数寄存器(R0~R15)和一个中断堆栈寄存器和状态寄存器。每个寄存器都是32位的,16个整数寄存器都是可以存储数据或者地址,指令指针寄存器是R15,两个堆栈指针是R14和R14‘,其实R14是指向任务的堆栈的指针TSP,R14’是指向ISR的堆栈的指针ISP。当CPU接收到一个中断的时候自动切换到ISR堆栈(也就是说CPU有独立用于处理中断的堆栈)在uC/OS-III 中,任务切换时的堆栈设置类似于中断发生时的那样,所有的CPU 寄存器都被保存。我们假定任务堆栈中的信息将要被载入到CPU 中,TSP 指向任务堆栈中最后一个被保存的寄存器。程序指针寄存器和状态寄存器是最先被保存在任务堆栈中。事实上,当中断发生时这些是被CPU 自动执行的。其它的寄存器通过软件被压入任务堆栈, TSP 不会被保存到堆栈,但会被保存到任务的TCB。ISP 指向当前中断堆栈的顶部。当中断服务程序被执行时,处理器把 R14“作为堆栈指针用于指向函数和局部参数。有两种上下文切换的方式:一个是任务级的,一个是中断级的,任务级切换时通过OSCtxSW()实现的,实际上它是被 OS_TASK_SW宏调用的中断级切换是通过调用OSIntCtxSw()实现。它是用汇编语言写的,保存于OS_CPU_A.ASM。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1489次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  91次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  9次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  3次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30319次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费