快捷搜索:  xxx

stm32嵌入式操作系统具有怎样的优缺点

STM32系列专为要求高机能、低资源、低功耗的嵌入式利用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。STM32系列32位微节制器,基于ARM Cortex-M3处置惩罚器。

它能支持32位广泛的利用,支持包括高机能、实时功能、数字旌旗灯号处置惩罚,和低功耗、低电压操作,同时拥有一个完全集成和易用的开拓。基于STM平台且满意实时节制要求的操作系统,有以下4种可供选择。分手为μC/OS-II、μClinux、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分手先容这五种嵌入式操作系统的特征及不够。

μC/OS-II 是一种基于优先级的抢占式多义务实时操作系统,包孕了实时内核、义务治理、光阴治理、义务间通信同步(旌旗灯号量,邮箱,消息 行列步队)和内存治理等功能。它可以使各个义务自力事情,互不过问,很轻易实现定时而且无误履行,使实时利用法度榜样的设计和扩展变得轻易,使利用法度榜样的设计历程大年夜为减化。

μC/OS-II是在μC/OS的根基上成长起来的,是用C说话编写的一个布局小巧、抢占式的多义务实时内核。μC/OS-II能治理64个义务,并供给义务调整与治理、内存治理、义务间同步与通信、光阴治理和中断办事等功能,具有履行效率高、占用空间小、实时机能精良和扩展性强等特征。

stm32嵌入式操作系统的特征以及不够

对付实时性的满意上,因为μC/OS-II内核是针对实时系统的要求设计实现的,以是只支持基于固定优先级抢占式调整;调整措施简单,可以满意较高的实时性要求。μC/OS-II 的光显特征便是源码公开,便于移植和掩护。

在内存治理上,μC/OS-II把继续的大年夜块内存按分区来治理,每个分区中都包孕整数个大年夜小相同的内存块,但不合分区之间内存的大年夜小可以不合。用户动态分配内存时,只须选择一个适当的分区,按块来分配内存,开释时将该块放回到曩昔所属的分区,这样就打消了因多次动态分配和开释内存所引起的碎片问题。

在文件系统的支持方面,因为μ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,它是异常相宜的。它必要很少的内核代码空间和数据存储空间,拥有优越的实时性,优越的可扩展机能,并且是开源的,网上拥有很多的资料和实例,以是很得当向STM32上移植。

μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微节制Linux。同标准的Linux比拟,μClinux的内核异常小,然则它仍旧承袭了Linux操作系统的主要特点,包括优越的稳定性和移植性、强大年夜的收集功能、出色的文件系统支持、标准富厚的API,以及TCP/IP收集协议等。由于没有MMU内存治理单元,以是其多义务的实现必要必然技术。

μClinux在布局上承袭了标准Linux的多义务实现要领,分为实时进程和通俗进程,分手采纳先来先办事和光阴片轮转调整,仅针对中低档嵌入式CPU特征进行改善,且不支持内核抢占,实时性一样平常。

在内存治理上因为μClinux是针对没有MMU的处置惩罚器设计的,不能应用场置惩罚器的虚拟内存治理技巧,只能采纳实存储器治理策略。系统应用分页内存分配要领,在启动时对实际存储器进行分页。系统对内存的造访是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,以是,纵然是一个无特权进程调用一个无效指针也会触发一个地址差错,并有可能引起法度榜样崩溃以致系统崩溃。

μClinux操作系统的中断治理是将中断处置惩罚分为两部分:顶半处置惩罚和底半处置惩罚。在顶半处置惩罚中,必须关中断运行,且仅进行需要的、异常少、速率快的处置惩罚,其他处置惩罚交给底半处置惩罚;底半处置惩罚履行那些繁杂、耗时的处置惩罚,而且吸收中断。由于系统中存在有许多中断的底半处置惩罚,以是会引起系统中断处置惩罚的延时。

μClinux对文件系统支持优越,因为μClinux承袭了Linux完善的文件系统机能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一样平常采纳ROMFS文件系统,这种文件系统相对付一样平常的文件系统(如ext2)占用更少的空间。然则ROMFS文件系统不支持动态擦写保存,对付系统必要动态保存的数据须采纳虚拟RAM盘/JFFS的措施进行处置惩罚。

综上可知,μClinux最大年夜特征在于针对无MMU处置惩罚器设计,这对付没有MMU功能的stm32f103来说是相宜的,但移植此系统必要至少512KB的RAM空间,1MB的ROM/FLASH空间,而stmf103拥有256K的FLASH,必要外接存储器,这就增添了硬件设计的资源。μClinux布局繁杂,移植相对艰苦,内核也较大年夜,着实时性也差一些,若开拓的嵌入式产品重视文件系统和与收集利用则μClinux是一个不错的选择。

责任编辑:ct

您可能还会对下面的文章感兴趣: