根据STM渠道且满意实时操控要求操作体系,有以下5种可供移植挑选。别离为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作体系(djyos)。
下面别离介绍这五种嵌入式操作体系的特色及缺乏。
1、μClinux
μClinux是一种优异的嵌入式Linux版别,其全称为micro-control Linux,从字面意思看是指微操控Linux。同规范的Linux比较,μClinux的内核十分小,可是它依然承继了Linux操作体系的首要特性,包含杰出的稳定性和移植性、强壮的网络功用、超卓的文件体系支撑、规范丰厚的API,以及TCP/IP网络协议等。因为没有MMU内存办理单元,所以其多使命的完成需求必定技巧。
μClinux在结构上承继了规范Linux的多使命完成方法,分为实时进程和一般进程,别离选用先来先服务和时刻片轮转调度,仅针对中低档嵌入式CPU特色进行改进,且不支撑内核抢占,实时性一般。
综上可知,μClinux最大特色在于针对无MMU处理器规划,这关于没有MMU功用的stm32f103来说是适宜的,但移植此体系需求至少512KB的RAM空间,1MB的ROM/FLASH空间,而stmf103具有256K的FLASH,需求外接存储器,这就增加了硬件规划的本钱。
μClinux结构杂乱,移植相对困难,内核也较大,其实时性也差一些,若开发的嵌入式产品重视文件体系和与网络运用则μClinux是一个不错的挑选。
2、μ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上移植。
3、eCos
eCos(embedded Configurable operating system),即嵌入式可装备操作体系。
它是一个源代码敞开的可装备、可移植、面向深度嵌入式运用的实时操作体系。
最大特色是装备灵敏,选用模块化规划,中心部分由小同的组件构成,包含内核、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适宜用于一些商业级或工业级对本钱灵敏的嵌入式体系,例如消费电子领域中的一些运用。
4、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等无缝结合。
5、都江堰操作体系(djyos)
都江堰操作体系,简称djyos,得名于一个巨大的水利工程:都江堰。
与传统操作体系不同,djyos不是以线程而是以事情为调度中心,这种调度算法使程序员脱节模拟计算机履行进程编写程序的思想方法,而是按人类认知国际的方法编写运用程序,就如同在嵌入式编程中引入了VC似的。
djyos的调度算法使程序员能够脱节线程和进程的捆绑,djyos没有有关线程的api,一个彻底不明白线程常识的程序员也能够顺畅地在djyos下编写运用程序。
djyos 操作体系是以事情为中心进行调度的,这种调度战略使程序员能够按人类认知事物的习气而不是计算机的习气来编程。
由上所述,关于stm32f103来说,移植μC/OS-II、eCos、FreeRTOS、都江堰操作体系是适宜的。