M-RTOS,基于cotrx-m3芯片写的,当前1.0版本实现的功能如下。
1、多任务调度,可抢占的内核,不支持时间片轮转调度。额,不对,把每个任务的优先级定为一致也可以实现轮转调度。
2、可配置时间片,默认10ms。
3、任务栈与内核栈分离。
4、空闲任务,但是没有实现钩子函数。
5、系统延时,系统延时的延时单位会比设定的大0到1个时间片。
6、互斥信号量,使用优先级继承缓解优先级反转的问题。
未完成或将要实现的功能。
1、重写链表结构。 2、加入内存管理,主要是要解决内存碎片的问题。 3、增加消息队列。 4、增加内存屏障。
5、单一任务同一时间只能持有一个信号量的问题。
源码存储在了github上,如果有人愿意参与此项目或指出问题,不胜感激。
联系方式:ma57457@163.com
源码地址:https://github.com/ma57457/M-RTOS