30 ucosii入门讲解汇讲.pptxVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第30讲UCOSII入门ALIENTEK广州星翼电子官方淘宝店技术支持论坛《原子教你玩STM32》系列视频30.1UCOSII简介30.2UCOSII配置步骤30.3实验验证

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频30.1UCOSII简介30.1.1UCOSII背景知识30.1.2UCOSII体系结构30.1.3UCOSII基本概念30.1.4UCOSII的初始化和启动30.1.5UCOSII常用任务管理函数30.1.6UCOSII时间管理

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频30.1.1UCOSII背景知识UCOSII的前身是UCOS,最早出自于1992年美国嵌入式系统专家JeanJ.Labrosse在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把UCOS的源码发布在该杂志的BBS上。目前最新的版本:UCOSIII已经出来,但是现在使用最为广泛的还是UCOSII。UCOSII是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,UCOSII最大程度上使用ANSIC语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频30.1.2UCOSII体系结构

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频30.1.3UCOSII基本概念任务将一个大任务分解为多个小任务,然后通过运行小任务达到解决大任务的目的。这个小任务对应的程序实体就叫“任务”。使操作系统并发的运行多个任务,从而提高处理器的利用率,加快程序执行速度。UCOS通过对小任务的运行进行管理和调度。任务分两种:用户任务和系统任务。用户任务:应用程序设计者编写的任务,解决应用问题。系统任务:系统提供的任务,为应用程序提供服务或为系统本身服务。

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频一个完整的任务应该有如下三部分:任务代码(程序)任务的私有堆栈(用以保护运行环境)任务控制块(关联任务代码的程序控制块)

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频并发:由同一个处理器轮换地运行多个程序。或者说是由多个程序轮班地占用处理器这个资源。且在占用这个资源期间,并不一定能够把程序运行完毕。

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频UCOS是怎样实现多任务并发工作的呢?外部中断相信大家都比较熟悉了。CPU在执行一段用户代码的时候,如果此时发生了外部中断,那么先进行现场保护,之后转向中断服务程序执行,执行完成后恢复现场,从中断处开始执行原来的用户代码。Ucos的原理本质上也是这样的,当一个任务A正在执行的时候,如果他释放了cpu控制权,先对任务A进行现场保护,然后从任务就绪表中查找其他就绪任务去执行,等到任务A的等待时间到了,它可能重新获得cpu控制权,这个时候恢复任务A的现场,从而继续执行任务A,这样看起来就好像两个任务同时执行了。实际上,任何时候,只有一个任务可以获得cpu控制权。这个过程很负责,场景也多样,这里只是举个简单的例子说明。

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频任务切换中止当前正在运行任务,转而去运行另外一个任务就绪任务。任务无缝切换的关键是断点数据的保护。也就是必须任务在终止时把该任务的断点数据保存到堆栈,而在被重新运行时,则把堆栈中的这些断点数据重新恢复到CPU的各寄存器,实现程序的无缝切换。

广州星翼电子官方淘宝店技术支持论坛ALIENTEK《原子教你玩STM32》系列视频uC/OS-II只是一个实时操作系统内核,它包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。uC/OS-II的任务调度是完全基于任务优先级的抢占式调度,也就是最高优先级的任务一旦处于就绪状态,则立即抢占正在运

文档评论(0)

ericxiao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档