uC/OS-III官网:Home Page - Weston Embedded Solutions
一、裸机与RTOS介绍
下面我将从不同方面阐述裸机与试试操作系统的区别,从而进一步介绍裸机和实时操作系统
-
定义:
- 裸机:裸机指的是没有任何操作系统或软件层的硬件系统。在裸机状态下,程序可以直接访问硬件资源。
- 实时操作系统:实时操作系统(RTOS)是一种专门设计用于实时应用程序的操作系统。它提供了严格的时间约束,能够确保任务在预定的时间内完成并响应外部事件。
-
硬件访问:
- 裸机:在裸机环境中,程序可以直接访问硬件资源,如处理器、内存、外设等。程序需要自行负责管理硬件资源的分配和使用。
- 实时操作系统:实时操作系统提供了一层抽象,使应用程序可以通过操作系统提供的接口来访问硬件资源。这样可以简化应用程序的开发和维护工作。
-
程序调度:
- 裸机:在裸机环境中,程序执行的顺序由程序员手动编写的代码控制。没有操作系统提供的调度器来控制任务的执行顺序。
- 实时操作系统:实时操作系统具有任务调度器,根据任务的优先级和时间约束来安排任务的执行顺序。它可以确保任务在规定的时间内得到处理。
-
响应能力:
- 裸机:裸机系统的响应能力取决于程序员编写的代码和硬件资源的性能。对于实时需求较高的应用,裸机环境可能无法满足其严格的时间要求。
- 实时操作系统:实时操作系统通常具有优化的调度算法和中断处理机制,能够提供更好的响应能力。它能够确保关键任务按时得到执行,从而满足实时应用的需求。
总的来说,裸机环境更接近底层硬件,对于某些特定的应用场景可能更加灵活和高效。而实时操作系统则提供了更高层次的抽象和管理,使得开发实时应用程序更加方便且可靠。选择使用裸机还是实时操作系统,需要根据具体的应用需求和性能要求进行权衡。
对于裸机系统而言:
while(1)
{
打游戏();
回复信息();
}
对于裸机系统而言:
while(1)
{
打游戏();
回复信息();
}
对于RTOS而言:
void main(void)
{
/* 创建打游戏任务 */
OSTaskCreate(打游戏)
/* 创建回复信息任务 */
OSTaskCreate (回复信息)
}
void 游戏(void)
{
while(1)
{
打游戏();
}
}
void 信息(void)
{
while(1)
{
回复信息();
}
}
二、裸机与RTOS的特点
裸机:裸机又称为前后台系统,前台系统指的中断服务函数,后台系统指的大循环,即应用程序
1、实时性差:(应用程序)轮流执行
2、delay:空等待,CPU不执行其他代码
3、结构臃肿:实现功能都放在无线循环
RTOS:RTOS全称为 Real Time OS,就是实时操作系统,强调的是:实时性
1、分而治之:实现功能划分为多个任务
2、延时函数:任务调度
3、抢占式:高优先级任务抢占低优先级任务
4、任务堆栈:每个任务都有自己的栈空间
注意:1、中断可以打断任何任务
2、任务可以同等优先级
三、UCOS简介
1、µC/OS-III 是基于 C 语言编写的第三代小型操作系统 。
特征 | uC/OS | uC/OS-II | uC/OS-III |
发布年份 | 1992 | 1998 | 2009 |
抢占式多任务 | 是 | 是 | 是 |
最大任务数 | 64 | 255 | 无限制 |
单个优先级任务数 | 1 | 1 | 无限制 |
时间片调度 | 否 | 否 | 是 |
事件标志 | 否 | 是 | 是 |
队列 | 是 | 是 | 是 |
可裁剪 | 是 | 是 | 是 |
代码量 | 3K~8K | 6~26K | 6K~24K |
… … |
注意:UCOSIII是一个可裁剪、可剥夺的多任务系统,没有任务数目的限制,是UCOS的第三代内核操作系统。
3、UCOS的优势及特点
(1)稳定、可靠:UCOSIII是经过了多种安全认证加持的,包括航空、工业控制、医疗、汽车等等多领域的安全认证。
(2)资料全:官方提供的资料较全面
(3)支持系列广:支持多种不同架构的不同型号的处理器,比如:ST、NXP、Xilinx、Infineon…
(4)移植简单:C语言编写简单易用