了解下五大嵌入式操作系统:μclinux、μc/os-ii、ecos、freertos和rt-thread。
top1:μclinux
μclinux是一种优秀的嵌入式linux版本,从字面意思看是指微控制linux。同标准的linux相比,μclinux的内核非常小,但是它仍然继承了linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的api,以及tcp/ip网络协议等。
μclinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。
μclinux对文件系统支持良好,由于μclinux继承了linux完善的文件系统性能,它支持romfs、nfs、ext2、ms-dos、jffs等文件系统。
μclinux最大特点在于针对无mmu处理器设计,这对于没有mmu功能的stm32f103来说是合适的,但移植此系统需要至少512kb的ram空间,1mb的rom/flash空间,而stm32f103拥有256k的flash,需要外接存储器,这就增加了硬件设计的成本。
μclinux结构复杂,移植相对困难,内核也较大,其实时性也差一些,若开发的嵌入式产品注重文件系统和与网络应用则μclinux是一个不错的选择。
top2:μc/os-ii
μc/os-ii是在μc/os的基础上发展起来的,是用c语言编写的一个结构小巧、抢占式的多任务实时内核。μc/os-ii能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点。
对于实时性的满足上,由于μc/os-ii内核是针对实时系统的要求设计实现的,所以只支持基于固定优先级抢占式调度;调度方法简单,可以满足较高的实时性要求。
μc/os-ii中断处理比较简单。一个中断向量上只能挂一个中断服务子程序isr,而且用户代码必须都在isr(中断服务程序)中完成。isr需要做的事情越多,中断延时也就越长,内核所能支持的最大嵌套深度为255。
μc/os-ii是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,针对于没有mmu功能的cpu,它是非常合适的。它需要很少的内核代码空间和数据存储空间,拥有良好的实时性,良好的可扩展性能,并且是开源的,网上拥有很多的资料和实例,所以很适合向stm32f103这款cpu上移植。
top3:ecos
ecos,即嵌入式可配置操作系统。它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、c语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用ecos提供的配置工具可以很方便地配置,并通过不同的配置使得ecos能够满足不同的嵌入式应用要求。
ecos操作系统的可配置性非常强大,用户可以自己加入所需的文件系统。ecos操作系统同样支持当前流行的大部分嵌入式cpu,ecos操作系统可以在16位、32位和64位等不同体系结构之间移植。ecos由于本身内核就很小,经过裁剪后的代码最小可以为10 kb,所需的最小数据ram空间为10 kb。
在系统移植方面 ecos操作系统的可移植性很好,要比μc/os-ii和μclinux容易。
ecos最大特点是配置灵活,并且支持无mmu的cpu的移植,开源且具有很好的移植性,也比较合适于移植到stm32平台的cpu上。但ecos的应用还不是太广泛,还没有像μc/os-ii那样普遍,并且资料也没有μc/os-ii多。ecos适合用于一些商业级或工业级对成本敏感的嵌入式系统,例如消费电子领域中的一些应用。
top4:freertos
由于rtos需占用一定的系统资源(尤其是ram资源),只有μc/os-ii、embos、salvo、freertos等少数实时操作系统能在小ram单片机上运行。相对于μc/os-ii、 embos等商业操作系统,freertos操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。
作为一个轻量级的操作系统,freertos提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。
freertos内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,cpu总是让处于就绪态的、优先级最高的任务先运行。
freertos内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享cpu的使用 时间。
相对于常见的μc/os-ii操作系统,freertos操作系统既有优点也存在不足。其不足之处, 一方面体现在系统的服务功能上,如freertos只提供了消息队列和信号量的实现,无法以后进先出的顺序向消息队列发送消息。
另一方 面,freertos只是一个操作系统内核,需外扩第三方的gui(图形用户界面)、tcp/ip协议栈、fs(文件系统)等才能实现一个较复杂的系统, 不像μc/os-ii可以和μc/gui、μc/fs、μc/tcp-ip等无缝结合。
top5:rt-thread
rt-thread 是一款主要由中国开源社区主导开发的开源实时操作系统(许可证gplv2)。实时线程操作系统不仅仅是一个单一的实时操作系统内核,它也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:tcp/ip协议栈,文件系统,libc接口,图形用户界面等。
电蜂优选教您怎么挑选Mini Fakra连接器?
继电器的续流二极管怎么选?
台湾三大运营商2021年5G建网和应用的展望
工业互联网为“一带一路”数字经济合作提供动力
纯电动汽车智能供电系统对我们生活的影响
五大嵌入式操作系统:μClinux、μC/OS-II、eCos、FreeRTOS和RT-thread
肉类药物残留检测仪的产品性能介绍
QNX 为松下全球汽车信息娱乐系统提供软件平台
2020主动降噪耳机推荐,目前降噪效果最好的耳机
从PCI、PCI-X到PCI-Express之间的连接
【EsDA 应用】Modbus RTU Master 转 UDP Server
iphone15最新消息 iphone15价格预测
英特尔参展汉诺威工业博览会,开启智能工厂新未来
色谱法的分类
大唐存储最新推出自主研发的固态硬盘
VR虚拟现实技术前景大好!或将被VR颠覆的10大行业
在综合布线系统中有哪些屏蔽措施?
电子负载常见故障及解决办法
公司重组也要继续竞争:尼康确认将发布全新无反相机!
海信大屏幕彩电故障检修十例