陈渝:面向嵌入式领域的开源软件

发布者:温暖微风最新更新时间:2009-08-06 来源: 嵌入式系统联谊会关键字:嵌入式  开源 手机看文章 扫描二维码
随时随地手机看文章

      清华大学计算机系陈渝发言的题目为《面向嵌入式系统的开源软件》,向大家展示了一个丰富的嵌入式开源软件世界。

     
                               陈渝 清华大学

      很高兴有机会跟大家一起交流一下关于嵌入式领域的开源软件,先自我介绍一下,我叫陈渝,目前在清华大学计算机系当老师,主要是从事操作系统和嵌入式系统的一些教学和科研工作。其实当时何老师给我这个题目时,我觉得确实有点大,虽然有两个限制,限制在嵌入式领域,限制在开源,即使加上这些限制,其实范围也是相当大。所以我按照目前我了解的一些情况给大家做个介绍。不能包含到题目的方方面面,只能是个人的一些粗浅的认识。开源软件确实是从我开始接触,就是90年代中初期,到现在也有10多年了。但是也很难说对开源软件了解到很透,因为确实发展日新月异,这是我了解到的情况。首先我跟大家介绍一下当前在嵌入式领域内的一些应用,这个可以看出来我们软件有些什么样的特点;接下来会就嵌入式系统中的软件架构层次上介绍一下各层次在面向嵌入式相关的一些软件;最后还有时间的话,给大家介绍一下目前在嵌入式领域做的教学科研工作,和大家分享一下。

      前面已经有很多老师提到嵌入式系统的应用领域,比如说在国防、工控、消费电子等等,其实还有一个很重要的趋势是跟网络结合,这些事我们认为当前嵌入式领域最主要的应用,但是由于领域的差异性很大,也导致了一些软件的区别是很大的。在早期,在军控、航空航天里面,嵌入式系统是相当的广泛,举个简单的例子,在我们国内,像航空航天,我们跟航空航天的一些机构有些联系,我们知道在他们的系统里面,无论是登月,还是载人飞船,还有自己的大飞机,嵌入式软件的身影是无处不在的;另一方面呢,在我们的日常生活中,比如现在比较流行的电子书,这其实也是嵌入新型的软件在里面,还有在家庭方面,我们早期的家庭方面,可能没有关注到太多嵌入式软件的身影,但是现在的一些PSP、手机里面,还包括摄像机等等,软件的作用越来越大,特别是跟Internet互联,这一块已经成为现在嵌入式系统里面重点关注的、软件需要重点去支持的一个方向。[page]

      说到视频服务器,我跟大家简单介绍一下,不知道大家有没有体会,现在出门基本可以看到到处都有摄像头,摄像头就是通过类似这样一个架构来把摄像头所看到的场景给记录下来,便于事后进行分析,可以这样说目前北京摄像头的比例在世界上都可以排到前三位的。那么怎么能够更好地支持一些视频的处理?这一块也是嵌入式系统比较关注的一个领域。家庭这一块,这个其实是目前在研究方面也是做的比较多的,整个家庭场景里面,实现一个设备级的互联互通,刚才周立功老师也讲到他们企业中设备的互联互通,他的那个场景可能更多在工控里面,在智能家居这个领域,目前也是竞争相当激烈,也有很多的研究成果,后面会给大家介绍一下。

      这个嵌入式Internet代表了这几年会比较大的发展趋势,怎么能够把嵌入式软件、嵌入式应用和Internet连接起来,跟后端的两个所谓余计算等等结合起来,更方便更有效地服务,这个其实是我们前端和后端越来越紧密地连在一起了。这个不仅是嵌入式软件的问题,还要考虑嵌入式软件和后端服务器软件之间更有效的互联互通,我们上了3G以后,这一块的重要性也越来越突显出来了。这个数字机顶盒,我就跳过去了,其实前几年已经有的概念,目前来说发展的还不是特别快。

      汽车电子这一块是个很重要的问题,大家都知道,我们开这个会很多都提到“核高基”,其实“核高基”在嵌入式领域重点支持两个,一个就是汽车电子,一个是移动网络。在这两个里面怎么能够发挥软件的作用,使得它的功能可以更大化,更充分体现出来,这一块其实国家也是相当重视,我们的企业在这方面也是做了很多工作。

      智能玩具和机器人,这个我给大家简单介绍一下为什么这个也很重要,不知道大家关注没有,微软目前专门面向机器人领域提出了它的所谓的集成开发环境,希望把将来robot的发展方向能够控制住,通过它的IDE、编程语言,通过它提供的一系列库等等,这个领域现在看不出很大的前景,但其实,在国外这个方面已经有很热的研究了。包括我们每年在学校都会组织一些国内国外都有机器人比赛,机器人足球赛等等,这都是嵌入式软件在智能机器人领域里的发展。

      工控这个领域,其实大家很多企业都涉及到这一块,我就不做详细讲解了。但是有一个需要注意的地方,现在的工控领域已经不是一个单独的体系,它需要跟Internet互联,这一点像微软虽然它不做开源,但是它还是支持一些开放的标准,甚至包括开放一些源代码,我觉得也不能一提到开源,就把微软作为一个靶子来打。在学校来讲,对微软还算是一个中立的立场上来说话的。微软还和其他一些企业做DPWS协议,就是希望能在工控领域使得工控设备能够更有效地进行互联互通,这个就类似于早期的UPnP,UPnP协议可能更侧重于家电,嵌入式设备等,但目前还希望能推到设备上去。

      军事侦察这个领域,大家在一些场合都看到了,在我们国家,无论是在航空航天,其实周立功老师他们更有经验,在我们国内已经承担了一些项目,还有朱明远老师他在航空领域、飞机领域也有他们软件产品的体现。可能由于国内安全或保密的要求,他们公布的信息不多。这是一个日本做的机器人,是个例子,还有火星探路者等等。[page]

      前面给大家简单介绍了当前嵌入式系统应用的领域,我们可以看出有几个特点,嵌入式应用场景是千差万别的,但是也确实朝着互联互通Internet的这么一个方向发展,基于这个趋势,我们来看看现在的一些开源软件。这里面资源确实有限,我也很难进行展开介绍,这是把我了解到的部分内容和大家做个简单的交流。

      从这个软件架构上来说,它确实从硬件上涉及到一系列的软件,包括协议等等。在硬件这一层通过协议和网络这一层的互联互通,除了TCP/IP协议外,还有一些使用比较广泛的协议,比如ZigBee,Bluetooth等等,这些协议都有相应的软件协议在支持,有了最底层的协议栈支持后,上层的这些软件就可以互联互通了。

      在这之上,会有一系列的操作系统和更高层的协议,操作系统也是涉及到开源和嵌入式领域内的,有Ecos、RTEMS等,协议有UPnP、Jini、DPWS、IGRS等,那么重点提一下IGRS是我们国内设备级互联互通的协议标准,目前它的基础协议层已经成为国际标准,目前在进行推广,其他的如UPnP、Jini、DPWS是国外一些大的企业自己的标准。

      再往上是middleware这一层,middleware本身是个比较广义的软件范畴,这里面会提到CORBA、OSGi、DLNA等等,它主要面向工业界和消费电子界服务层或软件层的互联互通。再往上是一些middleware service,包括GUI,还有Database、IDE等等,在底层这些支撑软件的支持上才会产生各种各样的应用。那么现在的应用,我觉得主要有两个趋势,一个是跟那个所谓的被控系统绑定,第二个是跟Internet绑定,这两个趋势会导致一些新的厂商、新的应用、新的技术。[page]

      我再简单介绍一下相关的OS,由于是开源软件,那么在嵌入式操作系统里面,开源软件也是相当多的。但是做的能够给产业去用的开源操作系统并不是很多,刚才邵老师已经介绍了有μC/OS等,但是要注意的是开放源代码并不就是开源,它还和license相关,刚才邵老师也介绍了有关license的情况,如果用于商业里面,也是需要付费的。但是这里的一些OS即使用于商业里面,也可能不需要付费的。这个层面的OS也有一些,也达到了一定的数量。

      第一个就是ECos,它一开始是自己独立的一个小公司,然后被RedHat给购买了,购买后,嵌入式这一块由于推广不力,Ecos又自己出去了成立一个新的公司,目前也还在发展,但总的来说,发展的力度并不是特别强。第二个是RTEMS,RTEMS主要是应用在航空航天领域,这就有点类似于Vxworks,但是它是一个不需要缴纳版税的嵌入式操作系统,是由美国的一个公司在维护。根据我的理解,当前在航天领域,有些系统是用RTEMS在做一些应用,我们跟他们有些技术上的交流与合作。开源的特点是很多人来维护,但是缺乏一个很强的商业支持,从商业上的支持维护来看,维护的热情和做操作系统商业还是有点差距的。这两个操作系统,我理解是目前开源、无版税、有一定市场潜力的操作系统。

      至于Linux大家已经讲了很多了,我不会展开去讲,但是Linux它的发展点是不一样的,Linux它本来的目标是面向服务器和桌面的操作系统,但是它会有很多分支,特别是在RT-Linux会对实时有很多支持,目前它的RT能力,根据我了解到的一些资料,因为Linux还有一个很大的特点是它支持VM,虚存管理,它和wind river有虚存管理的Vxworks的性能相比,差别并不是很大,这是RT-Linux最新的发展;第二种Linux发展就是面向没有虚存管理的CPU,更低端的CPU,有一个分支叫μC Linux,这个也在很多的嵌入式设备里面有很多体现,大家可能看不到,因为操作系统在最底下,比如说我们现在看到市场上的摄像机,就是嵌入式μCLinux,还有一些照相机等等。

      Linux应该是很大的一类,由于大家了解比较多,就给大家简单介绍到这。另外还要介绍一些OS,这些OS是用在更不常用的领域,我们称之为无限传感器网络,可以看到无限传感器网络这个小片子,它和一个硬币的大小差不多,日本有的企业做出来的甚至比硬币还要小很多。这些小一点的嵌入式设备,它通过ZigBee可以实现一定程度的互联互通,在这个小设备上,也有一些OS在应用。有美国做的TinyOS,还有欧洲做的Contiki操作系统,它支持了小型或微小型深度嵌入式设备的互联互通,这一块目前在研究阶段还是多一些,但是我们认为在将来会有一个好的应用前景,它意味着我们的嵌入式设备真是无处不在的且互联互通。[page]

      前面讲的都是面向特定领域的OS,比如工控、航空航天领域的OS,还有一类是面向我们消费电子类的OS,我这里做了个总结,差不多都是基于Linux,可以称之为Linux系统的一个解决方案,当前有两大类,国际上有大的公司在后面做着推动,第一个就是Intel在推动的叫做Moblin,它联合一些软件企业,一直想将来在以它的嵌入式CPU为核心的嵌入式设备上提供一整套软件的解决方案。这个Moblin架构用到了QT的3D显示,还有将来的3G网等等,wifi, 与互联网会有很好的沟通,形成一整套的架构体系,那么这个体系由Intel还有几个Linux厂商一起来推进,这是一个值得关注的一点,我记得Moblin也是Intel收购wind river后重点要做的事情。

      另一个是大家可能听的更多的Google推动的Android操作系统,其实也是一个解决方案,底层也是Linux,也提出它自己类似Java的一套系统,可以来支持它最主要的目标是手机,或者说是移动终端,希望通过控制终端的方式使得终端能够更好地采用它后端的这些服务,刚才提到一个观点,嵌入式终端其实将来要通过后端的服务来给人呈现一个更好的交互的手段,终端毕竟能力有限,只要有了高速的网络,后端的服务就可以很好地呈现在我们前端了。所以说这里面也存在一个将来的趋势,可以看出软件将会变成一种服务,将来可能不是卖软件,而是卖服务。这一点大家也是有很多体会了。Google就是一个典型的例子,它没有卖软件,它卖的全是服务。这个我就简单介绍看下它的类和Linux2.6内核,这是它的运行环境,包括很丰富的交互处理,上层还用了很好的开发环境,这里面做的系统都是开放源代码的,从底层到上层都是开放源代码的。

      在middleware这一层,除了早期的CORBA,还有个很重要的趋势,OSGi成立1999年,但是由于OSGi它推Felix集成开发环境,引起了大家的注意,当前主流的中间件都是基于OSGi开发的,也实现了一些开源的事情,我们理解就是它主要基于Java的更好的可以实现组件的一个动态替换的一个新型系统。GUI这里面,我相信魏老师会给大家讲的,我就不班门弄斧了。Database这一块,也有个趋势,就是早前的面向关系数据库外,面向对象的数据库也越来越引起大家的重视了,尤其在嵌入式领域。DB4o就是一个很不错的面向对象的数据库,当前在我们的嵌入式领域相当广泛。IDE除了Eclipse,NetBean、Kdevelop外,还有一些面向C和C下部MonoDevelop等一系列开源集成开发环境,大家用的最多的,或者基于它进行二次开发最多的还是Eclipse,这个我想大家也都有体会。这是IBM在维护的开源的可扩展的IDE。[page]

      最后再花点时间简单介绍一下我们正在做的工作,其实我们做了很多教学和研究工作,都离不开我们的开源软件,我们看一下。

      第一个就是我们做的嵌入式开发和教学的模拟环境,叫做Skyeye,这是一个软件,它主要的目的是能够模拟一个嵌入式的开发板,这样可以使得我们软件在这个硬件上进行调试、运行、开发,这是目前它支持一系列的CPU和一些外设,目前已应用于教学和部分科研中,有相应的网址大家可以访问。目前也是我的学生在做进一步的开发和维护。

      第二个OS,OS算我的本行,其实有个很有意思的特点,也和大家介绍一下,我觉得我们国家OS的教学有比较大的问题。很大的问题在于老师的教学,我曾经参加过教育部的一个会,操作系统教学的一个会,来的老师都是教操作系统的,但是只有10%的老师会去做操作系统的研究,这确实是个问题,如果不做研究,怎么能够更好地去教学?如果只照着书本去教学,其实是很有问题的。而目前我们国内的操作系统的教学,还是以书本为主,就是以原理为主。但是我们看国外,无论是MIT还是斯坦福,他们都是面向实践的操作系统教学,这一块其实邵老师应该也有相应的体会,我们现在目前就是基于MIT的freecode的操作系统,来做进一步的推修、扩展,学生花很大的时间和精力放在实践这个环节,通过它更好地了解操作系统,目前我们做了扩展,在不到7000行代码里面,支持x86的SMP和多核架构,可以把Linux的,Linux很重要很复杂,我们把它的调度器的框架、算法、内存管理都移植到我们的操作系统里面,代码不超过1万行,就可以让学生在这上面做相应的实验和了解。当然即使清华的学生对它依然觉得有难度,我希望通过我们进一步的扩展可以使我们的学生可以更好地去了解OS真正的怎么回事。

      第三个是偏科研,刚才我已经提到了,要支持互联网,现在有个很重要的观点,要把多个嵌入式设备隐藏在看不到的地方,通过它们的互联互通互操作来使得可以给人提供更有效的服务,那么目前我们在做的一些无论是863还是“核高基”的一些项目,都是与之相关的。当前有个概念叫普适合计算,在清华也有专门的普适计算研究中心来做相应的工作,目前申请的项目就是希望能够通过支持底层设备级的互联互通协议甚至做进一步的扩展,包括和国内其他单位合作使得将来的设备能够更有效的互联互通,然后动态地生成一些服务,给提供一个更好的支持,使我们的生活更加方便和舒适。这是我们目前在做的一些工作。

      最后简单总结一下,就是现在我们国家确实在进一步推广支持开源软件,学校也在进一步推广开源软件的教学,产业可以通过开源软件来降低成本,增加效益,我们理解是开源软件在嵌入式领域将会有更大的发展。

      谢谢大家。

      (感谢嵌入式系统联谊会提供本次文字实录,相关PPT下载请访问:http://www.esbf.org.cn/img/0906cy.pdf

关键字:嵌入式  开源 引用地址:陈渝:面向嵌入式领域的开源软件

上一篇:杨欣欣:半导体公司的嵌入式软件开发
下一篇:魏永明:回顾MiniGUI,展望应用软件平台

推荐阅读最新更新时间:2024-05-02 20:50

近距离无线通信的嵌入式数据记录设备设计
引言   “黑匣子”是比较流行的电子记录设备之一,广泛应用于实时记录飞机、船舶、汽车等行进过程中的重要数据,包括速度、方向、高度、偏转角、发动机的转速和温度等。通过这些数据可以了解其运行过程中的情况,同时也是故障检测、分析事故原因的重要依据。在工业领域,常见的记录仪有压力记录仪、温度记录仪、湿度记录仪等,用于对生产环境进行实时监测,从而保证了有效生产和安全生产。   记录仪的数据下载方式通常有两种:通过传输线缆下载和通过插拔存储卡下载。前者需要连接线缆,后者需要插拔存储卡,两者均需要结构方面的拆卸。但在某些应用环境中,记录仪不便于拆卸,特别是在一些辐射性强的工业现场,更不适于长时间的近距离接触。另外,这两种方式在一定程度上均可
[单片机]
近距离无线通信的<font color='red'>嵌入式</font>数据记录设备设计
ARM处理器与嵌入式系统
  引言   由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和技术的进步,在工业控制和新兴的手持式应用等领域,用户体验成为产品成功的关键因素之一,越来越多的产品需要良好的用户界面、互联功能以及较强的数据处理能力,这对嵌入式处理器硬件、软件、教学等提出了新的要求。   1 嵌入式处理器与硬件   在处理器方面,目前大量的中、低端嵌入式应用,主要使用8/16位单片机。在国内,由于历史的原因,主要是以MCS51核为主的许多不同型号单片机,主要厂商有Atmel、Philips、Winbond、宏晶等。还有一些近几年发展较快的新型单片机,如PIC、AVR、MSP430系列等。这些单片
[单片机]
嵌入式PPPoE软件模块的设计与实现
摘要:分析了PPPoE协议的基本框架和协议过程,根据嵌入式系统资源有限和无操作系统支持的特点,设计了一种适合于嵌入式系统的PPPoE软件结构,提出了减少代码长度和数据存储空间的化优方法,在80D51芯片上成功实现了PPPoE协议软件,并应用在以太话机中。实际运行证明,本PPPoE协议软件在稳定性、互通性和一致性等方面都具有良好的性能。 关键词:PPPoE PPP 嵌入式系统 基于以太网的点对点通信协议PPPoE(Point to Point Protocol over Ethenet)是为了满足越来越多的宽带上网设备(如ADSL、无线、有线电视等)和越来越快的网络之间的通信而指定开发的标准,它给出了两个广泛的接受的标准:以太
[网络通信]
基于嵌入式系统的隔离硬件设计
1 引言 Internet的迅猛发展使信息共享的程度进一步提高,因而信息安全的问题也日益突出,这时唯一的解决方法只能是主动解决信息安全和网络安全问题。目前国内外采用最多的、最普遍的网络安全措施是使用防火墙类软件,但是防火墙类软件本身存在两大先天缺陷:其一是防火墙隔离的网络还是基于TCP/IP协议来进行信息交换的,而TCP/IP 协议存在漏洞,它无法防止协议本身的漏洞;其二是防火墙的运行离不开操作系统,操作系统和防火墙软件都存在漏洞,因而不能阻止由这些漏洞而引起的网络安全问题 。因此,开发相应的应用系统是必要的。本文在对已有的防火墙技术及物理隔离技术进行分析的基础上,提出了带缓冲区的双通道实时开关技术,通过该技术所设计出的网络隔
[单片机]
基于<font color='red'>嵌入式</font>系统的隔离硬件设计
赛灵思收购嵌入式Linux方案提供商PetaLogix
赛灵思公司(Xilinx, Inc. )今天宣布收购嵌入式Linux解决方案提供商PetaLogix。随着Linux解决方案成为越来越多依赖赛灵思 All Programmable技术的嵌入式应用的必备之选,收购PetaLogix及其PetaLinux技术, 加强了赛灵思致力于为客户提供最好的Linux解决方案的能力和承诺。 赛灵思嵌入式软件首席科学家Tomas Evensen指出:“PetaLogix一直是推动赛灵思可编程技术在嵌入式市场不断普及的重要后援。他们最初针对MicroBlaze™和PowerPC®处理器推出了Linux版本,现在又为Zynq™-7000 All Programmable SoC提供了Linux版本和
[嵌入式]
面向物联网顶级先进应用,骁龙™ 820E嵌入式平台问市
2018年初,Qualcomm 正式宣布推出 Qualcomm® 骁龙™ 820E嵌入式平台,扩展其嵌入式计算产品组合以支持面向物联网(IoT)的顶级先进应用。骁龙™ 820E嵌入式平台采用64 位 ARMv8 四核 Qualcomm® Kryo™ CPU,以及 Qualcomm® Adreno™ 530 GPU 和 Qualcomm® Hexagon™ 680 DSP,是构建具有多核性能和沉浸式 3D 图像的先进系统的理想处理器。 全新推出的骁龙™ 820E嵌入式平台可以为计算机视觉、人工智能和沉浸式多媒体,提供联网计算以及强大且高能效的多核处理支持,该解决方案不仅展现了 Qualcomm在针对商用物联网产品,发挥其在
[物联网]
面向物联网顶级先进应用,骁龙™ 820E<font color='red'>嵌入式</font>平台问市
哪些传感器嵌入式功能适用于我的应用?
哪些传感器嵌入式功能适用于我的应用? 摘要: 本文介绍部分意法半导体MEMS传感器所具备的嵌入式可编程功能,特别介绍了有限状态机 (FSM)、机器学习内核 (MLC) 和智能传感器处理单元 (ISPU) 简介 意法半导体的数据处理方法不断变化,从传感器连续将数据流式传输到MCU进行处理和分析的标准解决方案,演变为在传感器中本地处理数据的边缘方法。 最近,意法半导体推出了独具匠心的MEMS传感器,它具有可编程逻辑和完全可编程DSP架构,能够降低功耗,减少I²C/SPI总线流量,减轻MCU负荷。 • 这种可编程逻辑架构旨在最大限度降低特定处理模型的功耗,同时可以运行FSM和MLC算法。触发中断时,MC
[传感器]
哪些传感器<font color='red'>嵌入式</font>功能适用于我的应用?
西门子推出新版 Nucleus ReadyStart 简化和保护嵌入式 RISC-V 开发
西门子推出新版 Nucleus ReadyStart 解决方案帮助简化和保护嵌入式 RISC-V 开发 西门子数字化工业软件近日推出适用于嵌入式开发的 Nucleus™ ReadyStart™ 解决方案,以应对 RISC-V 架构应用的迅速增长。该新版 Nucleus ReadyStart 嵌入式开发解决方案以去年发布的 RISC-V 设备商用实时操作系统 (RTOS) 为基础,更新了一系列新功能,可帮助客户增强基于 RISC-V 架构的下一代嵌入式产品的安全性、灵活性以及云连接能力。 面向 RISC-V 的 Nucleus ReadyStart 将软件、IP、工具、服务集成在统一的“即用型”解决方案中,对于具有占
[工业控制]
西门子推出新版 Nucleus ReadyStart 简化和保护<font color='red'>嵌入式</font> RISC-V 开发
热门资源推荐
热门放大器推荐
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved