STM32
系列
32
位微控制器,基于
ARM
Cortex-M3
处理器。它能支持
32
位
广泛的应用,支持包括高性能、实时功能、数字信号处理,和低功耗、低电压操作,同时
拥有一个完全集成和易用的开发。
基于
STM
平台且满足实时控制要求的操作系统,
有以下
4
种可供选择。
分别为
C
/
OS-II
、
Clinux
、
eCos
、
FreeRTOS
和都江堰操作系统(
djyos
)
。下面分别介绍这五种嵌入式操作系
统的特点及不足。
1
、
C
/
OS-IIC/OS-II
是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、
任务管理、时间管理、任务间通信同步(信号量,邮箱,消息
队列)和内存管理等功能。
它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序
的设计和扩展变得容易,使应用程序的设计过程大为减化。
C
/
OS-II
是在
C/OS
的基础上发展起来的,
是用
C
语言编写的一个结构小巧、
抢占式的多
任务实时内核。
C
/
OS-II
能管理
64
个任务,并提供任务调度与管理、内存管理、任务间
同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良
和扩展性强等特点。
对于实时性的满足上,由于
C
/
OS-II
内核是针对实时系统的要求设计实现的,所以只支
持基于固定优先级抢占式调度;调度方法简单,可以满足较高的实时性要求。
C/OS-II
的
鲜明特点就是源码公开,便于移植和维护。
在内存管理上,
C/OS-II
把连续的大块内存按分区来管理,每个分区中都包含整数个大小
相同的内存块,但不同分区之间内存的大小可以不同。用户动态分配内存时,只须选择一
个适当的分区,按块来分配内存,释放时将该块放回到以前所属的分区,这样就消除了因
多次动态分配和释放内存所引起的碎片问题。
C
/
OS-II
中断处理比较简单。一个中断向量上只能挂一个中断服务子程序
ISR
,
而且用户
代码必须都在
ISR
(中断服务程序)中完成。
ISR
需要做的事情越多,中断延时也就越长。