<br>你只看见创客们的成长,却忘记了陪伴创客成长的操作系统!4个嵌入式操作系统给你最长情的陪伴。</br>
从2010年开始脱离书本,步入实践以来,经手了N多的各类开发板,有ST公司的,NXP公司的,也有瑞萨的,还有更强大的英特尔的开发板,它们已然成为我的嵌入式生活一部分。当然,本篇文章并不是来介绍这些我喜欢的开发板,而是要介绍部署于这些开发板上的嵌入式操作系统。
对于嵌入式的典型应用里,前后台系统是最容易部署,也是简单应用系统的最佳选择,例如我们最最常见的点灯程序,我们只需要延时一段时间,并反转MCU引脚IO的状态即可实现该功能。简单几行代码即可实现,但是如果是复杂的应用系统,即需要引入“任务”的概念时,前后台系统的任务调试能力也就捉襟见肘了。这时,有效解决这个难点的嵌入式操作系统便可以大显身手了。
<center><img src="http://intel.eetrend.com/files/2016-08/wen_zhang_/100002657-8588-a5d4tm…; alt=""></center>
<br>现在创客们最常用的几款嵌入式操作系统主要为freeRtos,Arduino,嵌入式linux,及Yocto定制linux系统。接下来,笔者就为大家一一介绍这四个嵌入式操作系统:</br>
FreeRtos嵌入式操作系统,就像这款嵌入式操作系统的名称里的Free一样,此款操作系统对于学习,实验及产品应用来说是免费的,即不用掏一分钱就可以实现嵌入式MCU工作在“多任务”模式下。官网也已经将主流110+MCU的port移植文件发布,供大家免费参考与应用,并且其内核的体积与功能是可以通过软件配置裁剪,(这里我要提示一下大家,下面介绍的一款嵌入式操作系统同样可以通过定制来实现内核的大小裁剪)。体积小,实现快速但是其应用部署复杂,虽然有官方提供的示例,但是对于新手菜鸟来说,这无遗是一种折磨。
Arduino的操作系统想必大家非常熟悉,做为创客的一员,我想,arduino一定是家喻户晓了。这里想说的是,Arduino是通过自己的IDE来完成与创客人员源代码的融合,解决了嵌入式操作系统需要开发人员参与的难点,较FreeRtos操作系统有非常大的进步。而且其对于不同的平台,其代码是完全兼容的,改变的仅仅是Arduino的IDE里的开发板匹配而已。最新的1.6.8版本里,还集成了开发板驱动与配置的下载插件,向下兼容所有已经发布的arduino开发板。多么令人振奋的消息啊!
嵌入式linux操作系统,非常有知名度的操作系统。在嵌入式研发领域里,此为难点中的难点,以致于初学者对于嵌入式linux操作系统都是望而生畏。我们创客主要设计应用层的程序,而对于嵌入式linux底层来说,并不是我们所关心的。也正因为如些,当一些开发板没有同步发布对应的linux底层驱动,我们也就不会去应用——静静地等待官方发布BSP包。即使有发布的BSP底层驱动,很多时候,我们也是限于linux的庞大而放弃,因为嵌入式linux的裁剪相对非常复杂,有没有一种可以裁剪的linux系统呢?
答案是肯定的,有这样一种嵌入式操作系统,可以通过简单的配置来完成所需组件安装,不需要考虑组件之间的关联性,也不用关心这样会影响系统的稳定性,它生来就是组装而来的,它就是Yocto操作系统,是笔者在玩Galileo开发板时认识的。
有人会说,我也玩过galileo开发板,那不是使用arduinoIDE开发的吗?这里我也只能说,其可以兼容arduino,但是其内核还是一个linux,或者说其兼容arduino接口的扩展板。英特尔一直支持Yocto项目,对于Gelileo来说,英特尔也提供了一个制作好的完整版的Linux系统,当然亲爱的网友们也可以自己基于Yocto项目按照自己的需求制作系统镜像,发挥Galileo更大的能力。利用这个机会,再多简介一下如何进入Galileo的linux系统:
首先,要登录到Galileo的Yocto Linux系统里,通过以下四种方式里一种:
1、串口;
2、LAN口直连方式;
3、LAN口接入本地网络,后远程连接;
4、Wifi连接方式;
这里由于笔者家里的路由已经搭建完毕,百兆局域网已经成型,于是首选第三种方式。也许是出于安全方面的考虑,英特尔与微软一样,默认是将telnet关闭,我们要先将其打开。打开的方式也算简单,运行一段仅能被galileo识别的程序代码片:
void setup() {
system("telnetd-l /bin/sh"); //执行Linux命令,开启Telnet服务
}
void loop() {
system("ifconfigeth0 > /dev/ttyGS0"); //将网络链接信息输出到Arduino IDE串口监视器
delay(5000);
}
之后,通过windows的telnet指令即可完成与galileo内置linux系统的连接。
telnet 192.168.1.8(Galileo的当前IP)
当连接成功后,在屏幕上面就会弹出下面的字符了:
Trying192.168.1.4...
Connected to192.168.1.4.
Escape character is'^]'.
Poky 9.0 (YoctoProject 1.4 Reference Distro) 1.4.1 canton
/#
常用的四个操作系统为大家介绍完毕了,剩下就看大家的能力与精力来搭配项目的应用复杂度来选择了。
文章来源:<a href="http://mp.weixin.qq.com/s?__biz=MzA3NDQ2NjAxMA==&mid=2649724787&…;英特尔物联网