`
phinecos
  • 浏览: 343342 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

uC/OS-II源码分析(三)

 
阅读更多

首先来了解下实时系统的基本概念:

1) 临界区,共享资源,任务(类似于进程),任务切换,任务调度,可剥夺型内核,可重入函数,动态优先级调度,

2) 如何处理优先级反转问题。这个问题描述如下:有三个任务,优先级1高于2,2高于3,一开始1和2处于挂起,3在运行,3要使用某个共享资源,就P它的互斥信号量,3得到信号量后开始使用这个共享资源。过一段时间后,1等待的事件发生后剥夺了3的CPU使用权,于是1开始运行。运行时,1也要用3占到的那个资源,所以1只好进入挂起状态,等待3释放这个资源。于是这时3准备继续运行,但这时2等待的事件也发生了,所以2抢占了3的CPU使用权,等2运行完后把CPU还给3,3继续运行,直到释放资源的信号量。这时1才能得以运行。这个过程中,1的优先级实际上降到了3的水平。

处理的方法描述如下:在1第一次抢占3的CPU时,1去申请资源信号量,但内核知道这个信号量被3占了,而3的优先级比1低,于是内核把3的优先级升至与1相同。内核将1放入等待资源信号量的任务列表,然后回到3继续运行。等3完成后释放资源信号量,这时内核恢复任务3本来的优先级,并查看等待该资源信号量的任务列表里有谁在等待这个信号量,这时有1,所以把信号量交给1,于是1得以运行。等1运行完后,2才能开始运行。但uC/OS-II不支持优先级继承,这个功能是可以使内核自动变换任务的优先级。

3) 处理互斥:开关中断(uC/OS-II中用OS_ENTER_CRITICAL和OS_EXTI_CRITICAL来实现),测试并置位,禁止/运行任务切换,互斥信号量,计数型信号量,

4) 同步:信号量,事件标志(任务与多个事件同步,若任务需要与任何事件之一发生同步,叫独立型同步,若任务与若干事件都发生同步,叫关联型同步)。

5) 任务间通信:消息邮箱,消息队列,中断,

分享到:
评论

相关推荐

    uC/OS-II源码分析

    首先从main函数开始,下面是uC/OS-II main函数的大致流程: main() { OSInit(); TaskCreate(...); OSStart(); } 首先是调用OSInit进行初始化,然后使用TaskCreate创建几个进程/Task,最后调用OSStart,操作系统就...

    UC/OS-II运行全过程解析

    通过分析uC/OS-II的源码,详细阐述了开发板上电后uC/OS-II启动运行的整个过程,每个源码后面都有详细的注释,以及在任务运行过程中所起的作用,是新手学习uC/OS-II系统的好资料。

    嵌入式实时操作系统μC\OS-Ⅱ(第2版) pdf part1(共3 parts)

    μC/OSII是著名的、源码公开的实时内核,是专为嵌入式应用设计的,可用于各类8位、16位和32位单片机或DSP。从μC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用.本书是MicroC/OSII The Real Time ...

    uCOS-II源码分析

    本文从uC/OS-II main函数的大致流程,开始分析uC/OS-II的工作原理,讲解的很透彻,很明了,是学习uC/OS-II不可不看的一篇文章

    嵌入式系统/ARM技术中的分析M16C62在uC/OS-II嵌入式系统中的应用

    Ⅱ是一个源码公开的实时嵌入式操作系统,它的特点在于公开的源代码,很强的移植性,占先式多任务,每个任务有单独的栈,中断管理及很强的稳定性与可靠性等,目前越来越受到实时嵌入式系统设计者的关注,本文详细讲述...

    分析M16C62在uC/OS-II嵌入式系统中的应用

    Ⅱ是一个源码公开的实时嵌入式操作系统,它的特点在于公开的源代码,很强的移植性,占先式多任务,每个任务有单独的栈,中断管理及很强的稳定性与可靠性等,目前越来越受到实时嵌入式系统设计者的关注,本文详细讲述...

    嵌入式实时操作系统.part3.rar

    uC/OS-II是著名的、源码公开的实时内核,是专为嵌人式应用设计的,可用于各类8位,16位和32位单片机或D5P。从uC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。 本书是MicrouC/OS一II The Real Time ...

    嵌入式实时操作系统.part2.rar

    uC/OS-II是著名的、源码公开的实时内核,是专为嵌人式应用设计的,可用于各类8位,16位和32位单片机或D5P。从uC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。 本书是MicrouC/OS一II The Real Time ...

    嵌入式实时操作系统.part1.rar

    uC/OS-II是著名的、源码公开的实时内核,是专为嵌人式应用设计的,可用于各类8位,16位和32位单片机或D5P。从uC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。 本书是MicrouC/OS一II The Real Time ...

    嵌入式实时操作系统.part4.rar

    uC/OS-II是著名的、源码公开的实时内核,是专为嵌人式应用设计的,可用于各类8位,16位和32位单片机或D5P。从uC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。 本书是MicrouC/OS一II The Real Time ...

    嵌入式实时操作系统μCOS-II 第二版 邵贝贝译 PDF版.part2

    通过对μC/OSII源代码的分析与描述,讲述了多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理以及如何处理优先级反转问题;介绍如何将μC/OSII移植到不同CPU上,如何调试移植代码。在所附...

    嵌入式系统/ARM技术中的UC/OS 在TMS320C6711 DSP上的移植过程

     μC/OS-II是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性,除此以外,μC/OS-II的鲜明特点就是源码公开,便于移植和维护。 在μC/OS-II官方的主页上可以查找到一个比较全面的移植范例...

    嵌入式实时操作系统μCOS-II 第二版 邵贝贝译.part1

    通过对μC/OSII源代码的分析与描述,讲述了多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理以及如何处理优先级反转问题;介绍如何将μC/OSII移植到不同CPU上,如何调试移植代码。在所附...

    嵌入式实时操作系统μCOS-II 第二版 邵贝贝译 PDF版.part3

    通过对μC/OSII源代码的分析与描述,讲述了多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理以及如何处理优先级反转问题;介绍如何将μC/OSII移植到不同CPU上,如何调试移植代码。在所附...

    uC/GUI实现WP界面、 UC/GUI移植源码分享-电路方案

    运用uC/OS-II实现任务的管理,简化程序结构。在此基础之上,你可以实现你想要的功能。像MP3播放器,图片浏览器,示波器,频谱分析仪WP界面等。只有你想不到的没有做不到的,并且你的设备将具备惊艳的UI界面(当然是...

    《嵌入式实时操作系统--邵贝贝译》(第二版 光盘资料)

    通过对μC/OSII源代码的分析与描述,讲述了多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理以及如何处理优先级反转问题;介绍如何将μC/OSII移植到不同CPU上,如何调试移植代码。在所附...

    任哲uCOS-II 书中 源代码

    │ 2-10源码改进&现象分析.txt │ TEST.C │ TEST.EXE │ ├─2-11 │ 2-11截图.bmp │ Test.c │ TEST.EXE │ ├─3-1 │ 3-1完整文件包.rar │ 3-1截图.bmp │ 3-1最小文件集.rar │ 3-1现象完整分析.txt │ EXP...

    c语言编写单片机技巧

    Transform)、频谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。 18. MCU在射频控制时,MCU的时钟(晶振)、数据线会辐射基频或基频的倍频,被低噪放LNA放大后进入混频,出现带内的Spur,无法滤除...

Global site tag (gtag.js) - Google Analytics