一.操作系统
近些年,MCU产品性价比不断提升,尤其是32位MCU,其运行主频已达百兆级甚至高达1GHz,功能越来越强,资源配置也越来越丰富,编程也越来越复杂,需要RTOS来配置管理基础资源和维护管理产品。
RTOS可以应用到8位/16位/32位MCU产品上,但32位MCU产品将会是主流。MCU产品双核多核产品增多,产品功能的复杂度越来越高。而MCU与CPU产品不再是泾渭分明,异构集成将是一个新的产品发展特点。
MCU产品将会沿着摩尔定律之路继续前行,会不断涌现出新的产品,RTOS的路越来越宽广。
1.操作系统分类
一般可分为:通用操作系统(OS),手机移动端的iOS 、鸿蒙系统及 Android,实时操作系统(RTOS)两大类。而实时操作系统(RTOS)根据其运行的处理器不同可以进一步分为:CPU RTOS和MCU RTOS两类。
Windows及手机系统是面向消费者的,RTOS是面向开发者及物联网的;Windows有着统一的处理器,在一台电脑上编译好的程序可以很方便地在另一台计算机上运行,RTOS使用的是不同架构的处理器或微控制器,不能跨处理器或硬件运行,
需要进行相应地移植。RTOS现阶段难以像Windows一样形成大一统的格局,差异化的应用需求仍然需要差异化的RTOS。
2.实时操作系统的两个误区
(1)用了实时系统后,系统响应速度一定更快。不一定。因为实时操作系统本身引入了执行开销,所以对于小型应用来说,有RTOS的性能也许不如无操作系统的情况。
实时操作系统的优势最能体现在中大型系统中,当任务间存在复杂的耦合和依赖关系,并且应用程序经常要长时间等待外部资源时。
(2)用实时操作系统就可以保证实时性。不一定。相对来说,使用实时系统可以改善系统的实时性。但是实时操作系统只是作为工具存在的,如果需要提供实时性保障,
还需要使用实时系统理论对任务的可调度性和响应时间进行分析,才可以得到科学、系统的响应性保障。
二.常见RTOS介绍
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,需要外接存储器,这就增加了硬件设计的成本。