以前看论坛,总有人认为ATOMRTOS是专门为STM8开发的,所以效率为更高,占用资源更小。其实不然。
从资源来看,都是裁剪前,UCOS是上官的移植版本,ATOMRTOS是CPUWOLF的版本,对比如下:
UCOSII | ATOMRTOS | |
RO CODE | 6.5K | 11K |
RO DATA | 0.4K | 0.2K |
RW | 1.0K | 0.7K |
可以看出RTOS在ROM上占较多优势。RAM上由于上官版本创建了两个任务,堆栈用得都比较大。裁剪后要以到0.8K左右。
至于时间片功能是否要用,就见仁见智了,个人认为,这样的小系统,任务设计合理,根本不需要时间片功能。
从代码上来看,ATOMRTOS的移植更简洁,但由于虚拟寄存器处理等方式不同,可能UCOS效率会更高。个人对UCOS了解的多些,毕竟文档也多,而且UCOS是产生在20年前,它代码对于资源,效率的考虑,个人认为已经到极致,至少我没办法写出更有效率的代码,呵呵。