技能往往更新得十分快,而且总是让咱们觉得学起来有难度而且有些苍茫。不过没有关系咱们本站专心于在高兴中学习,要学习STM32,咱们首要了解下五大嵌入式操作体系:μ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总是让处于安排妥当态的、优先级最高的使命先运转。
FreeRT0S内核一起支撑轮换调度算法,体系答应不同的使命运用相同的优先级,在没有更高优先级使命安排妥当的情况下,同一优先级的使命同享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接口,图形用户界面等。