实时操作系统应用技术 课件 RTOS-第09章-初步理解RT-Thread的调度原理.pptx

实时操作系统应用技术 课件 RTOS-第09章-初步理解RT-Thread的调度原理.pptx

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

RTOS本章导引:俗话说,知其然,还要知其所以然,即不仅要学会在RTOS下进行应用程序的开发,还要理解RTOS的工作原理。若能理解原理,对应用编程肯定有益处,但不能陷入原理,而忽视应用编程。基于本书目标定位在应用编程,所以在原理层面,则把目标确定为“知其然且了解其所以然”,原理服务于应用。这里用一章篇幅,高度概括RT-Thread的基本原理,为应用编程提供理论基础。第9章初步理解RT-Thread的调度原理

9.1理解RTOS所需要的相关基础知识RTOS9.2RT-Thread的启动流程分析9.3RT-Thread中的时钟嘀嗒剖析9.4RT-Thread中的事件与消息队列的触发过程分析9.5RT-Thread中的信号量与互斥量的触发过程分析第9章初步理解RT-Thread的调度原理9.6本章小结第1页共97页

RTOS9.1.1CPU内部寄存器及ARMCortex-M中主要寄存器(重点)9.1理解RTOS所需要的相关基础知识RTOS在运行过程中需要对CPU的寄存器频繁进行操作。本书采用的是基于ARMCortex-M系列内核的微控制器,了解其CPU内部主要寄存器的作用是理解RTOS的基本原理的前提条件。计算机所有指令运行均由CPU完成,CPU内部寄存器负责信息暂存,其数量与处理能力直接影响CPU的性能,这里先从一般意义上阐述寄存器的基本分类,随后给出ARMCortex-M4微处理器内部寄存器。第2页共97页

RTOS1.CPU内部寄存器的基本分类(1)数据缓冲类寄存器CPU内数量最多的寄存器是数据缓冲用途的寄存器,名字用寄存器英文Register的首字母加数字组成,如R0、R1、R2等等,不同CPU其种类不同。(2)栈指针类寄存器在计算机的编程中,全局变量具有固定的存储地址,而局部变量则不同,采用“后进先出”原则使用一段RAM区域,这段RAM区域被称为栈区。它有个栈底的地址,是一开始就确定的,当有数据进栈或出栈时,地址会自动连续变动,不然就放到同一个存储地址中了,CPU中需要有个地方保存这个不断变化的地址,这就是栈指针寄存器(StackPointer,SP)。第3页共97页

RTOS(3)程序指针类寄存器在许多CPU中,它的名字叫做程序计数寄存器(ProgramCounter,PC),它负责告诉CPU将要执行的指令在存储器的什么地方。(4)程序运行状态类寄存器CPU在进行计算过程中,会出现诸如进位、借位、结果为0、溢出等情况,CPU内需要有个地方把它们保存下来,以便下一条指令结合这些情况进行处理,这类寄存器就是程序运行状态类寄存器。(3)其他功能寄存器除了上述寄存器之外,还有表示浮点数运算、中断屏蔽等寄存器。第4页共97页

RTOS2.ArmCortex-M中主要寄存器ARMCortex-M处理器的寄存器主要有R0~R15及3个特殊功能寄存器,如图9-1所示。其中R0~R12为通用寄存器,R13为堆栈指针(StackPointer,SP),R14是连接寄存器,R15为程序计数器(ProgramCounter,PC)。特殊功能寄存器有预定义的功能,而且必须通过专用的指令来访问。第5页共97页

RTOS(1)通用寄存器R0~R12R0~R12是最具“通用功能”的32位通用寄存器,用于数据操作,复位后初始值为随机值。(2)堆栈指针寄存器R13(SP)R13是堆栈指针(SP)。在ARMCortex-M处理器中共有两个堆栈指针:主堆栈指针(MSP)和进程堆栈指针(PSP),若用户用到其中一个,另一个必须用特殊指令(MRS、MSR指令)来访问,因此任一时刻只能使用其中的一个。第6页共97页

RTOS(3)连接寄存器R14(LR)当调用一个子程序时,由R14存储返回地址。在其他情况下,可以将R14作为通用寄存器使用。(4)程序计数器寄存器R15(PC)R15是程序计数器(ProgramCounter,PC),其内容为当前正在执行指令的地址。如果修改它的值,就能改变程序的执行流程(很多高级技巧隐藏其中)。在理解RTOS运行流程时,关键点就是要理解PC寄存器值是如何变化的,PC值的变化反映了程序的真实流程。第7页共97页

RTOS(5)特殊功能寄存器ARMCortex-M内核中有一组特殊功能寄存器,包括程序状态字寄存器(xPSR)、中断屏蔽寄存器(PRIMASK)和控制寄存器(CONTROL)。1)程序状态字寄存器在内部分为以下几个子寄存器:①应用程序状态寄存器APSR(ApplicationProgramStatusRegister)②中断程序状态寄存器IPSR(InterruptProgramStatusRegister)

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档