μTenux据称为“最适用于ARM Cortex M0-M4的开源·物联网·嵌入式操作系统”,那么它都有什么优点?是什么使其更适合物联网呢?今天就随小编一起小探一下。
首先,我们先看一下μTenux的特点:
l 微内核,在日本从1984年开始发布,占有率接近60%
l 开放源码、完全免费
l 不需要MMU,占用ROM/RAM少
l 可移植、可固化、可裁剪
l 抢占式实时多任务操作系统
l 支持所有32位ARM7/9和Cortex M系列的微控制器
l 可配置任意多个的任务、任务的优先级最多255个
从特点上看,我们将μTenux与μC/OS-II相比较,前者的市场占用率貌似比较高,但是其多数集中在日本本国,在中国大陆地区目前尚处于推广区。其开源与免费的政策灰常适合中国的国情——这个不多说了。μC/OS-II操作系统是收费的,而且很高的——虽然其源代码公开。其余几项与μC/OS-II系统并无太多的区别。
一款操作系统是否容易入手,其开放的api函数的水平也参考的至关重要的。查看μTenux操作系统,其提供了多达131个api函数,包括:
◇ 任务管理 ◇ 信号量
◇ 事件标志 ◇ 邮箱
◇ 互斥体 ◇ 消息缓冲区
◇ 集合点端口 ◇ 固定尺寸内存池
◇ 可变尺寸内存池 ◇ 周期性处理
◇ 报警处理 ◇ 中断管理
◇ 调试支持 ◇ 系统状态管理
其本身的代码容量也是灰常小的,当然肯定也是根据用户需要可裁剪大小, ROM:10KB-60KB,RAM:2KB-12KB。这个与μC/OS-II还是比较相近的。μTenux操作系统的内核任务调试方式也是抢占式实时多任务操作系统,这一点与在学校时常用的μC/OS-II并无区别,初步估计暂时也无法应用到强实时性操作环境下。特别强调一点:μTenux的任务优先级是可以相同的,此处与μC/OS-II有本质上的区别。
与μC/OS-II操作系统只有民间的论坛网友们进行维护不同,μTenux操作系统有自己的社区支持[注1]。仔细查看了一个社区,发现不仅提供了源代码的下载支持,移植示例等等,还提供了一款免费的开发环境——基于Eclipse/GCC开源免费开发环境,由于笔者并未进行下载测试,其可操作性、与系统的兼容性等方面无法得知,还望读者自行下载尝试。
与μC/OS-II操作系统一样,对于市场使用量大的主流芯片都提供了移植示例,方便工程师们移植使用,加快开发进程,也方便在校学生们下载参考、学习。当然,又与μC/OS-II操作系统一样,μTenux系统官方也提供了开发板供大家购买、评估与调试,具体价格请参见淘宝店[注2]。
经过上述简单了解,可粗略地得出μTenux操作系统可用于非实时性要求环境与低安全认证情况下的产品,可服务于嵌入式系统的多任务开发,以达到节省成本,提高企业软件正版率,降低开发难度,加快项目开发进程的目的。