一个尽最大可能浅显易懂的简易RTOS内核实现
注:目前Plain-RTOS仍处于开发的非常早期阶段,仅仅实现了最基本的进程切换功能,说明文档也十分不完善,如果您有兴趣,何不点一个star呢?
- Plain-RTOS以STM32F103C8T6(ARM Cortex M3)为开发测试平台
- Plain-RTOS的代码将尽量做到平台无关,并尽可能减小移植难度
- Plain-RTOS的代码自有一套命名规范,如果您有兴趣阅读Plain-RTOS的代码,建议您事先了解代码规范
- Plain-RTOS将不仅仅是一个OS Kernel,还将包含MCU开发时常用到的功能的封装
- Plain-RTOS旨在以尽量浅显的形式实现OS Kernel的特性,具体做法包括但不限于:
- 尽可能少地使用汇编语言,如必须使用汇编,也尽量使用内联汇编
- 使用纯C语言实现,尽量不使用外部依赖
- Plain-RTOS将提供简洁明了的设计框图与移植文档
- 目前OS Kernel实现了下列特性:
- 进程上下文切换(无浮点寄存器)
- 时间片流转调度算法
- 内核链表
- 多线程同步和互斥
- 用忙等待机制实现的互斥量
- 用睡眠等待机制实现的互斥量
- 多值信号量机制
- 简易文件系统
水平有限,学艺不精,如有错误,还望斧正。