µC/OS-II和µC/OS-III比较
Feature | µC/OS-II | µC/OS-III |
---|---|---|
Release Date(发布时间) | 1999–present | 2009–present |
Preemptive Multitasking(抢先多任务处理) | ✔ | ✔ |
Maximum number of tasks(最大任务数) | 255 | Unlimited |
Number of tasks at each priority level(每个优先级的任务数量) | 1 | Unlimited |
Round robin scheduling(轮转调度) | ✔ | |
Semaphores(信号) | ✔ | ✔ |
Mutual exclusion semaphores(互斥信号量) | ✔ | ✔ (Nestable) |
Event flags(事件标志) | ✔ | ✔ |
Message mailboxes(消息邮箱) | ✔ | No (not needed) |
Message queues(消息队列) | ✔ | ✔ |
Fixed sized memory management(固定大小的内存管理) | ✔ | ✔ |
Signal a task without requiring a semaphore(在不需要信号量的情况下给任务发送信号) | ✔ | |
Option to post without scheduling(没有发布调度选项) | ✔ | |
Send messages to a task without requiring a message queue(不需要消息队列就可以向任务发送消息) | ✔ | |
Software timers(软件定时器) | ✔ | ✔ |
Task suspend/resume(任务挂起/恢复) | ✔ | ✔ (Nestable) |
Deadlock prevention(预防死锁) | ✔ | ✔ |
Scalable(可扩展性) | ✔ | ✔ |
Code footprint(代码的足迹) | 6K to 26K | 6K to 24K |
Data footprint(数据足迹) | 1K+ | 1K+ |
ROMable(可只读存储器化) | ✔ | ✔ |
Run-time configurable(运行时配置) | ✔ | |
Compile-time configurable(编译时可配置) | ✔ | ✔ |
ASCII names for each kernel object(每个内核对象的ASCII名称) | ✔ | ✔ |
Pend on multiple objects(花费在多个对象上) | ✔ | ✔ |
Task registers(任务的寄存器) | ✔ | ✔ |
Built-in performance measurements(内置性能测量) | Limited | Extensive |
User definable hook functions(用户可定义的钩子函数) | ✔ | ✔ |
Time stamps on posts(邮政时间戳) | ✔ | |
Built-in kernel awareness support(内置内核感知支持) | ✔ | ✔ |
Optimizable scheduler in assembly language(可优化的汇编语言调度程序) | ✔ | |
Catch a task that returns(捕获返回的任务) | ✔ | |
Tick handling at task level(在任务级别处理滴答) | ✔ | |
Dynamic tick rate(动态嘀嗒频率) | ✔ | |
Source code available(源代码开源) | ✔ | ✔ |
Number of services(数量的服务) | ~90 | ~70 |
MISRA-C:1998 | ✔ (except 10 rules) | N/A |
MISRA-C:2012 | ✔ (except 8 advisory and 8 required guidelines) | |
DO178B Level A and EUROCAE ED-12B | ✔ | ✔ |
Medical FDA pre-market notification (510(k)) and pre-market approval (PMA) | ✔ | ✔ |
SIL3/SIL4 IEC for transportation and nuclear systems | ✔ | ✔ |
IEC-61508() | ✔ | ✔ |
µC/OS-II和µC/OS-III比较相关推荐
- 【 uC/OS II 】uC/OS II 源代码阅读(os_task.c)任务管理
前言 这个任务管理源代码,是整个系统最核心的部分,也是最难的部分,多看几遍吧.其中的核心结构体是: typedef struct os_tcb {OS_STK *OSTCBStkPtr; /* Poi ...
- 【 uC/OS II 】uC/OS II 源代码阅读(os_mbox.c)消息邮箱
前言 关于消息邮箱,是一个消息邮箱里面,只能存储一条消息.核心结构体如下: #if (OS_EVENT_EN) && (OS_MAX_EVENTS > 0u) typedef s ...
- UART0串口编程(四):UART0串口编程之在UC/OS—II中遭遇的危机
UART0串口编程之在UC/OS-II中遭遇的危机 一.潜在的危机 1.在uc/os操作系统中设计串口编程时,由于ISR和多个任务并发执行,情况比较复杂.尤其是接收状态为被动状态时,只能靠串行口中断来 ...
- Lab 6:uC/OS II
为什么80%的码农都做不了架构师?>>> 目标: 移植uC/OS II到RPi上,实现两个任务的调度.这两个任务能轮流点亮LED,并通过串口发送消息表明自己正在运行 具体步骤: ...
- 嵌入式实时操作系统μC/OS II(一)
嵌入式实时操作系统μC/OS II 为什么要学习μC/OS-II ㈠.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解. ㈡.对于初学者,从μC/OS-II开始是个明智的选择. 1.μC ...
- uc/OS II——多任务设计
uc/OS II--多任务设计 (1)设计 开始任务 [1]/声明 开始任务 任务块 static OS_STK App_TaskStartStk[APP_TASK_START_STK_SIZE]; ...
- Mac OS X10.11(OS X EI Capitan)安装程序下载
Mac OS X10.11(OS X EI Capitan)的安装程序(dmg文件)已经上传到百度网盘(直接安装即可).有需要者请加微信公众号:geekculture,并发送capitan或osx获取 ...
- python split(), os.path.split()和os.path.splitext()函数的区别
python split(), os.path.split()和os.path.splitext()函数的区别 文章目录: 1. split() 2. os.path.split() 3. os.pa ...
- python安装os模块_python的os模块(ipython,文件,目录,权限,管理)
什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,这时就离不了o ...
- python调用Shell脚本:os.system(cmd)或os.popen(cmd),
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.实际使用时视需求情况而选择. ...
最新文章
- lunix下的redis数据库操作——hash(哈希)
- 水题 逆序对 NOIP 2013 火柴排队
- 鸿蒙内部测试情况,鸿蒙OS内测曝光,安卓劲敌浮出水面!
- 信息安全工程师软考——第一章 网络信息安全概述笔记!!!!
- 51单片机:定时器/计数器TMOD设定
- 中国大学生在线官方微博入围全国十大中央机构微博、全国十大教育微博
- 恶魔奶爸语法7-9课
- 肠道健康如何影响疾病
- NoteExpress使用教程及添加参考文献自动跳转超链接
- 随机验证码生成(生成一个含有n位随机数字的字符串)
- 1.#_3 Typora(markdown格式文本编辑器) -- 配置高亮及快捷键
- nonce值是什么?(Number once)(Number used once)cnonce(client nonce)(一个只被使用一次的任意或非重复的随机数值)
- 按照字典序大小遍历字符串的方法
- 【Java面试题】之内存泄漏
- html中的 脚本制作教程,html5教程制作简单画板代码分享
- 完整的阿里支付宝面试经过(转)
- [转帖]生产环境(基于docker)故障排除? 有感于博客园三番五次翻车
- 私人云/让web客户端可显示服务器目录(二)
- MIUI官方论坛 - 发烧友必刷的Android ROM
- 至强秘笈 | 英特尔