一下是网络收集的几种适合stm32的嵌入式操作系统,打算最近都移植一下,先做个记录
基于STM平台且满足实时控制要求操作系统,有以下4种可供移植选择
分别为μ 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的处理器设计的,不能使用处理器的虚拟内存管理技术,只能采用实存储器管理策略
系统使用分页内存分配方式,在启动时对实际存储器进行分页
系统对内存的访问是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,所以,即使是一个无特权进程调用一个无效指针也会触发一个地址错误,并有可能引起程序崩溃甚至系统崩溃
μ Clinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理
在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断
因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时
μ Clinux对文件系统支持