ucos-II的知识点3

1、其中最有用的功能应该是时间片轮转法( roundrobin), 这个是 uC/OS-II 中不支持的,但是现在已经是 uC/OS-III 的一个功能了

2、uC/OS-III 被设计用于 32 位处理器, 但是它也能在 16 位或 8 位处理器中很好地工作。 
3、一共有 2 种类型的实时系统:软实时系统和硬实时系统。硬实时系统中,运算超时是不允许发生的,运算超时会导致严重后果。但是在软实时系统中 , 超时不会导致严重后果   
4、前后台系统:包含一个无限循环的模块实现需要的操作(后台)。中断处理程序实现异步事件(前台)。前台也叫做中断级,后台也叫作任务级。  
5、临界操作应该在任务级中被执行,不可避免地必须在中断处理程序中执行也要确保是在很短的时间内完成。 因为这会导致 ISR 占用更长的时间。 通常的, ISR 中使能相关的信息而在后台程序中执行相应的操作。  
6、ucos-iii中的任务(也叫做线程) 是一段简单的程序, 运行时完全地占用 CPU 。在单 CPU 中,任何时候只有 1 个任务被执行。

7、内核的责任是管理任务,协调和切换多个任务依次享用 CPU 。让我们感觉是多个 CPU 在同时运行,也有利于处理模块化的应用 它也负责管理任务间的交流, 系统资源的管理(内存 和I/O )等。

8、uC/OS-III 是一个抢占式内核, 这意味着 uC/OS-III 总是执行最 重要的就绪任务  
9、ISR 响应中断请求设备, 但是 ISR 只做非常少的工作。 ISR  应该标记或发送消息到一个高优先级的任务, 让中断能够快速处理完毕

10、系统中加入内核需要额外的支出,因为内核提供服务时需要时间 去处理。内核占用 CPU 的时间介于 2% 到 4% 之间。 因为 uC/OS-III是一个软件,添加到目标系统中需要额外的 ROM 和 RAM 。

时间: 2024-11-22 17:19:14

ucos-II的知识点3的相关文章

uCOS 在 NIOS II 上的移植

工具:Quartus II 器件:EP4CE15F17C8 1.File->New Project Wizard: 2.点击两个Next,进入Family&Device Settings,选择器件 3.Finish,建立工程完毕,点击Tools->SOPC Builder,输入名字后,OK 4.修改clk_0为100MHz 5.component library中搜索nios,双击Nios II Processer 6.Finish 7.搜索epcs,双击epcs Serial...F

uC/OS II 任务切换原理

今天学习了uC/OS II的任务切换,知道要实现任务的切换,要将原先任务的寄存器压入任务堆栈,再将新任务中任务堆栈的寄存器内容弹出到CPU的寄存器,其中的CS.IP寄存器没有出栈和入栈指令,所以只能引发一次中断,自动将CS.IP寄存器压入堆栈,再利用中断返回,将新任务的任务断点指针弹出到CPU的CS.IP寄存器中,实现任务切换.虽然明白个大概,但是其中的细节却有点模糊,为什么调用IRET中断返回指令后,弹入CPU的CS.IP寄存器的断点指针是新任务的断点指针,而不是当前任务的,UCOS II是如

单片机的非OS的事件驱动

单片机的非OS的事件驱动 Part 1 前言 很多单片机项目恐怕都是没有操作系统的前后台结构,就是main函数里用while无限循环各种任务,中断处理紧急任务.这种结构最简单,上手很容易,可是当项目比较大时,这种结构就不那么适合了,编写代码前你必须非常小心的设计各个模块和全局变量,否则最终会使整个代码结构杂乱无序,不利于维护,而且往往会因为修改了某部分代码而莫名其妙的影响到其他功能,而使调试陷入困境. 改变其中局面的最有效措施当然是引入嵌入式操作系统,但是大多数的操作系统都是付费的(特别是商业项

DSP-BIOS使用入门

从环境说到搭建第一个工程 请注意,此文默认读者已经对DSP及CCS V3.3环境有一定的了解了,知道cmd文件的配置,知道新建工程,编译并连接仿真器下载!如果你对这些还都不熟悉,请先熟悉这些!当然,最好要有操作系统的基本概念--任务.调度.中断! 第一个问题:DSP/BIOS(好吧,我们一般这样写)是什么? 是TI公司专门为DSP开发的嵌入式实时操作系统,既然是TI公司为自己的DSP开发的--官方的,当然性能是杠杠的了(当然,我还在入门,这点也是道听途说,没有实际体会).既然说到实时操作系统,那

智能家居系统-软件设计

1 智能家居远程控制系统的软件实现 1.1 基于uC/OS-II的中央控制器的软件设计 1.1.1 uC/OS-II系统移植 本设计使用uC/OS-II操作系统,uC/OS-II是一个源码公开.可移植.可固化.可剪裁和抢占式的实时多任务操作系统,uC/OS-II的大部分源码是用标准ANSI C编写,并且编程规范,可读性很高,内核中只有少量的与硬件相关的代码使用汇编语言编写,总共200余行,移植非常方便[37].uC/OS-II软件体系结构如图5-1所示.移植工作主要包括以下几个方面的内容: 1)

嵌入式学习步骤及方法(精典)

嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破.只要我们用心去对待,冬雪终将化去,春风定会吹来.具体步骤如下: 1.<C语言>第二版 谭浩强 : <C程序设计语言>第二版 徐宝文译 机械工业出版社 你能区分开指针数组和数组指针吗?你知道函数指针吗? 你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗? 2.<数据结构>C语言版 黄国愉.叶乃青编 清华大学出版社 你能合上书本,用C语言实现书中的单链表.双链表数据结

OSMboxPend() 等待消息时遇到的问题

首先根据书中讲解的实例代码(标准实例来源于UCOS ii经典教程 邵贝贝) 1 OS_EVENT *CommMbox; 2 3 void CommTask(void *pdata) 4 { 5 INT8U err; 6 void *msg; 7 8 pdata = pdata; //防止编译器报错 9 10 for(;;) 11 { 12 msg = OSMboxPend(CommMbox, 10, &err) 13 14 if(OS_ERR_NONE == err) 15 { 16 /***正

lwip移植到stm32上-enc28j60,103mcu(2)

前面小玩了一下ucos和lwip,但是都还不是真正的网络多任务,真正的网络多任务应该是什么样子的呢?应该是有一个专门的任务负责网络的通讯,他负责将数据发送出去,将数据接收回来,而其他的需要用到网络的任务与这个任务通讯,这才是能够极大提升网络效率的办法,lwip支持这种办法,不过移植起来就比较磨人了 首先第一步是修改lwip的配置文件,如下 #define NO_SYS 0 //使用UCOS操作系统 改了这个之后会发现卧槽一下子缺了好多东西,实际上是这样,lwip使用一系列的宏和方法封装了一个操作

嵌入式学习(转)

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等.特别是随着消费家电的智能化,嵌入式更显重要.像我们平常常见到的手机.PDA.电子字典.可视电话.VCD/DVD/MP3 Player.数字相机(DC).数字摄像机(DV).U-Disk.机顶盒(Set Top Box).高清电视(HDTV).游戏机.智能玩具.交换机.路由器.数控设备或仪表.汽车电子.家电控制

北京大学软件与微电子学院嵌入式系统工程系

关于嵌入式系统方向(集成电路方向也可参考) 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等.特别是随着消费家电的智能化,嵌入式更显重要.像我们平常常见到的手机.PDA.电子字典.可视电话. VCD/DVD/MP3 Player.数字相机(DC).数字摄像机(DV).U-Disk.机顶盒(Set Top Box).高清电视(HDTV).游戏机.智能玩具.交换