RTOS 姊妹花——Small RTOS 与 STOS++简介
1 简介
在详细说明之前,我们先看图 1、图 2 这两幅图。从两幅图中可以看出,图 1 是 Small RTOS
的一个例子的运行界面,而图 1 的最下方的“045.3%”为 CPU 的占有率。图 2 是 STOS++
的一个例子的运行界面,图 2 的最下方的“044.5%”也是 CPU 的占有率。这两幅图很相似,
事实上这两个例子的代码也很相似只是图 1 所示的例子是用 c 语言编写,其基于的操作系统
为 Small RTOS V1.51,而图 2 所示的例子是用 c++语言编写,其基于的操作系统为 STOS++
V1.51。而 Small RTOS 使用标准 c 编写,而 STOS++用 c++编写,他们的代码也是极其相似
的。
图 1 Small RTOS 范例运行界面
大家仔细看一下两者的 CPU 占有率:基于 Small RTOS 是
45.3%,而基于 STOS++是
44.5%!很意外吧,用 c++语言编写的程序的执行效率居然更高!事实上,这个结果对于
笔者来说也很意外,笔者本以为 STOS++的效率会稍微低一点。笔者可以保证其应用程序对
执行效率的影响很小(可以参考源代码),而两个 RTOS 的代码相似,又都是使用 ADS1.2,
编译参数也没有区别,唯一的解释是编译器对 c++的 this 指针优化得很好。当然,换一个编
译器其效果可能不一样。
至于占用存储的的比较,从编译结果来看,STOS++的代码会大一点,但则没有普遍意
义:作例子的程序并没有发挥 c++的优势。而 STOS++的 ram 占用小一点,但这已没有意义:
C++的对象会占用一些堆空间,在实际运行时其占用的空间可能不比 Small RTOS 小。
- 1
- 2
- 3
- 4
- 5
- 6
前往页