作为一名单片机的爱好者,我想大家都沉迷于自己作为造物主的角色。控制着各种形形色色的传感器,实现各种各样的功能。然而,在编程的世界中,你是否还在一直使用前后台轮询的方式编程。站在自己的角度来说,我一直是。当需要很多个线程的时候,我一般采取的方法是在定时器中为每一个线程定义一个计数器和一个事件标志位。当计数器达到设定的时间就立刻置位相应的标志位。main函数中通过查询置位的标志位进行线程处理。我想,聪明的你肯定明白我在说什么。但是,每一次多以线程就要定义一个事件标志位。命名都烦,因此就萌发使用操作系统的念头。但是经过自己的思考,我觉得现有的uC/OS-II是资料最多的RTOS,因此编程方便。但是,uC/OS-II(商业软件)又感觉过于臃肿并且开源但是不免费。因为我只想有一个线程调度的功能即可。所以,就决定自己写一个RTOS,仅仅包含基本的线程调度、时间片轮转以及信号量同步等功能。当然啦,更多的功能,完全可以由你自己完成或者日后我来完成,供大家选择。
SMC-RTOS是一款开源嵌入式实时操作系统(遵循GPL许可协议),它短小精悍,主要包含线程调度、信号量以及软件定时器。现阶段已经移植成功的平台有Cortex-M3和Cortex-M4内核的SoC。