单片机移植 - RTOS总结 -uC/OS-II ; FreeRTOS的区别

RTOS总结 -uC/OS-II ; FreeRTOS的区别

实时操作(RTOS)系统有很多种,分别为μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,而国产的嵌入式操作系统包括都江堰操作系统(djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。

目前用过 μC/OS-II, FreeRTOS。

1、μC/OS-II
μC/OS-II是在μC/OS的基础上发展起来的,是用C语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点。

在文件系统的支持方面,由于μC/OS-II是面向中小型嵌入式系统的,即使包含全部功能,编译后内核也不到10 KB,所以系统本身并没有提供对文件系统的支持。但是μC/OS-II具有良好的扩展性能,如果需要也可自行加入文件系统的内容。

在对硬件的支持上,μC/OS-II能够支持当前流行的大部分CPU,μC/OS-II由于本身内核就很小,经过裁剪后的代码最小可以为2KB,所需的最小数据RAM空间为4 KB,μC/OS-II的移植相对比较简单,只需要修改与处理器相关的代码就可以。

综上可知,μC/OS-II是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,针对于没有MMU功能的CPU,它是非常合适的。它需要很少的内核代码空间和数据存储空间,拥有良好的实时性,良好的可扩展性能,并且是开源的,网上拥有很多的资料和实例,所以很适合向stm32f103这款CPU上移植。

在这里插入图片描述

2、FreeRTOS

由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。

相对于C/OS-II、 embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。

作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。

FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。

FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。

FreeRTOS的不足:

相对于常见的μC/OS—II操作系统,FreeRTOS操作系统既有优点也存在不足。

其不足之处, 一方面体现在系统的服务功能上,如FreeRTOS只提供了消息队列和信号量的实现**,无法以后进先出的顺序向消息队列发送消息**;另一方 面,FreeRTOS只是一个操作系统内核,需外扩第三方的GUI(图形用户界面)、TCP/IP协议栈、FS(文件系统)等才能实现一个较复杂的系统, 不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等无缝结合。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
This book describes the design and implementation of mC/OS-II (pronounced "Micro C O S 2") which stands for<br>Micro-Controller Operating System Version 2. μC/OS -II is based on μC/OS, The Real-Time Kernel which was first<br>published in 1992. Thousands of people around the world are using μC/OS in all kinds of applications such as<br>cameras, medical instruments, musical instruments, engine controls, network adapters, highway telephone call boxes,<br>ATM machines, industrial robots, and many more. Nu merous colleges and Universities have also used μC/OS to<br>teach students about real-time systems.<br>μC/OS-II is upward compatible with μC/OS (V1.11) but provides many improvements over μC/OS such as the<br>addition of a fixed-sized memory manager, user definable callouts on task creation, task deletion, task switch and<br>system tick, supports TCB extensions, stack checking and, much more. I also added comments to just about every<br>function and I made μC/OS -II much easier to port to different processors. The source code in μC/OS was found in two<br>source files. Because μC/OS-II contains many new features and functions, I decided to split μC/OS-II in a few source<br>files to make the code easier to maintain.<br>If you currently have an application (i.e. product) that runs with μC/OS, your application should be able to run,<br>virtually unchanged, with μC/OS-II. All of the services (i.e. function calls) provided by μC/OS have been preserved.<br>You may, however, have to change include files and product build files to ‘point’ to the new file names.<br>This book contains ALL the source code for μC/OS-II and a port for the Intel 80x86 processor running in Real-Mode<br>and for the Large Model. The code was developed on a PC running the Microsoft Windows 95 operating system.<br>Examples run in a DOS compatible box under the Windows 95 environment. Development was done using the<br>Borland International C/C++ compiler version 3.1. Although μC/OS-II was developed and tested on a PC, mC/OS-II<br>was actually targeted for embedded systems and can easily be ported to many different processor architectures.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值