15.1 为什么需要操作系统
操作系统是介于计算机和应用软件之间的一个软件系统,用于掌握计算机上的所有事情,其下是硬件平台,其上是应用软件
15.2 嵌入式实时操作系统介绍
- 嵌入式操作系统
与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求,预先定义的任务。 - 实时操作系统
外界事件或数据产生时,能接收并快速予以处理。分为硬实时和软实时,硬实时要求在规定的实践内必须完成操作,是在操作系统设计时保证的,软实时则只要按照任务的优先级,尽可能快地完成操作即可。
目前常用嵌入式实时操作系统有uC/OS-II、RTEMS、VxWorks、eCos、FreeRTOS、RTLinux、T-Kernel等。
15.3 uC/OS-II简介
高度稳定可靠,广泛应用,参考书籍《嵌入式实时操作系统uC/OS-II》中文版由邵贝贝翻译
15.4 uC/OS-II特点
- 提供源代码
- 可移植
- 可固化
- 可裁剪
- 可剥夺型:总是运行优先级最高的就绪任务
- 多任务:可管理64个任务
- 可确定性
- 任务栈
- 每个任务都有自己单独的栈,以便满足应用程序对RAM的需求
- 系统服务:提供信号量、事件标志,消息队列内存申请与释放,事件管理函数等
- 中断管理
- 稳定性与可靠性
15.5 uC/OS-II的几个概念
15.5.1 任务
也成为线程,每个任务都是一个无线循环,处于以下五种状态之一:
休眠态、就绪态、运行态,挂起态,中断态
15.5.2 任务调度
uC/OS-II是可剥夺型实时多任务内核,总是运行就绪的最高优先级任务
15.5.3 任务切换
15.5.4 uC/OS-II的中断处理
15.5.5 时钟节拍
15.5.6 uC/OS-II的初始化
15.5.7 uC/OS-II的启动
15.6 uC/OS-II的基本功能
15.6.1 任务间的通信与同步
15.6.2 任务管理
15.6.3 时间管理
15.6.4 内存管理
15.7 uC/OS-II的文件体系
15.8 uC/OS-II的移植条件
- 处理器的C编译器能产生可重入代码
- 用C语言可打开和关闭中断
- 处理器支持中断并且能产生定时中断
- 处理器支持能够容纳一定量数据的硬件堆栈
- 处理器有将堆栈指针和CPU其余寄存器读出和存储到堆栈的指令
15.9 C语言中使用汇编代码
C语言与汇编语言混合编程