您的当前位置:首页基于云计算的MCU应用开发平台
基于云计算的MCU应用开发平台
来源:锐游网
第33卷第4期 201 1年8月 武汉理工大学学报・信息与管理工程版 JOURNAL OF WUT(INFORMATION&MANAGEMENT ENGINEERING) Vo】.33 No.4 Aug.2011 文奄编号:1007—144X(2011)04—0544一o4 文献标志码:A 基于云计算的MCU应用开发平台 何汉青 ,李 宁 (1.武汉理工大学网络信息中心,湖北武汉430070;2.武汉理工大学计算机科学与技术学院,湖北武汉430070) 摘要:分析了传统嵌入式开发工具的缺陷和云计算时代信息整理方式的变革,将云计算引入到嵌入式开发 工具中,实现了一套完整的基于云计算的MCU开发平台Coocox Tools。Coocox Tools将开发者所需要的知识 整理好,定向地推送给用户;同时为开发者提供一个嵌入式开发知识的交流平台,可以大大加快MCU应用开 发的进度。另外,Coocox Tools还是一个嵌入式开发者的社会网络平台,通过集体智慧来整理信息,提取和分 享专业知识。 关键词:云计算;嵌入式开发工具;Coocox 中图分类号:TP391 DOI:10.3963/j.issn.1007—144X.2011.04.010 云计算是一种新型的基于lnternet的超级计 MCU开发工具不能为工程师提供相关的帮助。 算模式。云计算将共享的软硬件资源和信息按需 1.2孤立的工程师 提供给用户,允许用户在不了解提供服务的技术、 完成MCU应用开发都不会是一个大的团队, 没有相关知识以及设备操作能力的情况下,通过 多数情况下只有几个工程师,甚至只有一个工程 Intemet获取服务 。。 师。在遇到问题的时候,通常是通过论坛、邮件组 传统的MCU开发一直使用专业的集成环境, 来与使用同样MCU的工程师进行交流,但这种交 通常与Intemet没有太多的联系。近年来Ic厂商 流往往是不及时的。 推出新MCU的速度非常迅猛,开发者对新MCU 1.3无法彻底关注业务层开发 进行开发时,需从Internet中获得相关信息。若 MCU应用开发通常包含硬件设计和软件设 能将云计算引入到MCU开发工具中,将用户所需 计两部分,其中软件设汁包含底层驱动设计、操作 要的知识自动地推到用户面前 ,将大大加快 系统移植、算法移植与优化和应用层设计。对于 MCU应用开发的进度。在分析传统MCU开发工 MCU应用而占,最能体现产品特质和性能的是应 具缺陷的基础上,介绍了笔者开发的基于云计算 用层设计,但工程师大量的工作都集中在底层驱 的MCU应用开发平台Coocox Tools. 动设计、操作系统及算法的移植上,无法专注于应 1传统MCU应用开发工具的缺陷 用业务层的软件开发和优化。 由于目前市场要求MCU应用产品的开发周期 1.1 大量时间用于资料的整理和甄别 越来越短,以上这些问题的存在使得工程师使用传 在MCU应用开发之前,工程师通常需要进行 统工具很难在有限开发时间内保证产品的质量,产 选型工作,包括MCU、外围Ic、开发¨『 具和技术支 品特质亦不容易体现,甚至难于完成开发任务。 持等。开发过程中也需要大量相关的资料,如各 种数据手册、电路图、例程和应用笔记等。这些资 2云计算带来的信息整理方式变化 料通常从IC厂商的网站和一些专业网站中获得, 如何从Interact的海量信息中抽取出对用户 有些可信,有些则需要进行甄别。另外,丁程师还 有价他的信息,并整理为其所需要的格式成为网 需从大量资料中找到自己所关注的部分。资料的 络及数据挖掘领域研究的重要I1jJ=题。Internet上 收集、整理和甄别通常要花费大量的时问,传统的 信息整理方式大致有以下几类。 收稿日期:2Ol1—02—23. 作者简介:何汉青(1970一),男,湖北浠水人,武汉理工大学网络信息中心工程师 第33卷第4期 何汉青,等:基于云计算的MCU应用开发平台 545 (1)分类目录搜索。网站通过人工审核编辑 信息,将其放人数据库中。使用者根据分类在网 站上查找所需信息,典型的是Yahoo。这种方式, 分类清晰,但有时很难找到某些专门知识。 (2)全文搜索。通过搜索软件在Internet上 所有网站搜索信息,然后按照一定规律建立一个 很大的在线数据库供用户查询。用户只要输入关 键词,就可以在已建立的索引数据库中查询 卜 , 典型的是Google。 (3)Wiki。每个人都可以通过编辑页面对自 己关注的词条进行创建、编辑、修改和讨论,就像 公共白板。Wiki依靠集体的力量,开创了一种借 助互联网创建、积累、完善和分享知识的全新模 式。具有共同兴趣的人可以很快将相关领域的知 识整理得非常完善,甚至可以创造出许多新的知 识。Wiki上的信息通常专业而且准确。 (4)开放互动式知识问答分享平台,众多用 户自行提问与提供解答,借助众人的经验与专长, 在问与答的讨论之间,帮使用者找到满意的答案。 典型的有Yahoo Answers。这种方式采取有针对 性的提问,可以获得非常及时而且专业的帮助。 从以上信息整理方式来看,如何整理知识将 是Internet发展过程中一直努力的方向。云计算 时代的到来,提出了软件即服务的概念,云软件打 破以往大厂垄断的局面,所有人都可以在上面自 由挥洒创意,提供各式各样的软件服务。云计算 将充分利用上述各种信息整理方式,利用集体智 慧产生更多的有效信息 。如果在嵌入式开 发工具中引入云计算,会给嵌入式开发带来完全 不同的新体验。 3基于云计算的MCU开发 基于云计算的MCU开发工具是一个云软件, 它可以像用水、用电一样随时使用网络中的有效 信息。当用户对某款MCU进行应用开发时,相关 知识(数据手册、例程、算法和电路图等)应被推 到开发者面前。同时,用户也可以将自己的相关 知识与其他使用同样MCU的开发者分享。理想 的基于云计算的MCU开发工具,对于用户而言只 需要一个浏览器,如图1所示。编辑、编译、存储、 项目管理和资料管理等均在云端完成,用户只要 使用任意一个带有浏览器并可访问Internet的设 备,就可以随时随地进行开发。ARM公司推出的 快速原型验证工具mbed就是一个这样的平台, 如图2所示,用户只要有一个简易的验证平台,访 问embed.org网站就可以在浏览器上完成编辑、 编译和项目管理,并可与其他用户交流。不过, mbed只是一个快速原型的验证平台,不具备完整 的嵌入式开发工具链的功能。笔者所在团队开发 了一套完整的基于云计算的MCU开发工具链 Coocox Tools。 设备 图1 基于浏览器的嵌入式系统开发 开发板 计算机 互联网 服务器 图2快速原型开发平台mbed 4 Coocox Tools 4.1 Coocox Tools的总体结构 Coocox Tools的总体架构如图3所示,对于 MCU开发者而言,Coocox Tools包含CoIDE、 CoFlash、CoAssistant、CoLinkEx、CoOS和CoCentero Coocox Tools可以在wⅥ兀Ⅳ.COOCOX.org网站免费下 载,Coocox Tools的总体结构如图3所示。 图3 Coocox Tools的总体结构 4.2 CoIDE CoIDE是Coocox Tools的核心,与传统IDE 不同之处在于:其编程方式是基于组件的,而其中 的组件、例程和帮助均可通过网络自动更新和交 互。CoIDE的编辑界面如图4所示,它有4个与 武汉理工大学学报-信息与管理工程版 2011年8月 图4 ColDE编辑界面 其他IDE不同的窗口:组件窗口、组件树窗口、例 程窗口和帮助窗口。 (1)组件窗口。组件是一组相对独立的代 码、外设的驱动程序和一些算法,操作系统也可以 是组件。用户选择某款MCU后,该MCU可用的 组件将列在组件窗口中,用户只需勾选,即可将相 应的代码自动加入工程中。如果有足够多的组 件,则只需勾选组件即可完成除应用层之外的所 有软件开发工作。组件窗口是一个浏览器窗口, 任何用户都可按照Coocox组件标准上传自己的 组件,与其他用户分享。开发者在使用其他用户 提供的组件时,可以对组件进行评价、打分,组件 窗口可按分值对组件排名。 (2)组件树窗口。用户在组件窗口勾选组件 之后,被勾选的组件以树的形式组织在组件树窗 口中,组件树和工程树是完全对应的。在组件树 中选中某个组件时,工程树中对应的文件会高亮, 且在例程窗口中也会自动显示该组件的例子。 (3)例程窗口。在组件树窗口中选中某组件 时,相关例子将罗列在例程窗口中,用户可以参 考,也可将该例子代码添加到工程中。与组件窗 口一样,例程窗口也是一个浏览器,任何用户都可 上传自己的例子与其他用户分享,也可评价其他 用户提供的例子。 (4)帮助窗口。帮助窗口根据用户焦点的变 化提供各种相关信息。选择处理器时,可以提供 处理器基本信息、数据手册;勾选组件时,可以提 供组件的API信息;查看例程时,提供例程的原理 图及所对应评估板的信息。 在未来,CoIDE将会是一个基于Web的IDE, 用户只需用浏览器访问Coocox网站即可使用。 如图5所示,ColDE将不仅是一个IDE,还是一个 MCU开发者交流开发信息及知识的网络平台。 4.3 CoFlash CoFlash是一个免费的Flash编程工具,提供 图形和命令两种编程方式。与其他Flash烧写工 @ @ 图5基于云计算的IDE 具的不同之处是:CoFlash允许用户自定义烧写算 法,并将自己新增的烧写算法上传与其他用户分 享,也可对其他用户提供的算法做评价。 4.4 CoAssistant CoAssistant是一个在线编程辅助工具,只要 访问http://www.COOCOX.com:8080/c0assistam— en/rap即可。选择某款MCU后,其寄存器的细节 信息将直观地呈现在用户面前,如图6所示。无 需查阅处理器技术手册,即可轻松实现对相关外 设的配置。用户还可以通过加评论,将自己使用 某个外设或某个寄存器的心得与其他用户分享。 图6 CoAssistant查看界面 4.5 CoLinkEx CoLinkEx是一个免费、开源的ICE方案,支 持JTAG和SWD调试接口,适用于各种Cortex— M0和Cortex—M3处理器。除了可用于Coocox Tools之外,还支持传统工具MDK和IAR。 4.6 CoOS CoOS是一个免费和开源的RTOS,特别为 Cortex—M处理器设计,支持时间片轮询和优先 级抢占两种任务切换方式;支持信号量、邮箱、队 列、事件标志、互斥体等多种进程同步机制;具有 高度可裁剪性,最小内核仅974字节;任务切换时 允许中断;支持堆栈溢出检测;支持多种编译器, 如ICCARM、ARMCC、GCC。在CoIDE中,CoOS 也是一个组件,通过勾选即可将CoOS源码加入 到自己的工程中,用户修改OS—Config.h文件中 的任务数、堆栈和系统时钟频率等相关配置后即 第33卷第4期 何汉青,等:基于云计算的MCU应用开发平台 tinguishingcloudcomputing/. 547 可实现移植。 4.7 CoCenter [2] SIMS K.IBM introduces ready—to—use cloud compu— ting:collaboration services get clients started with cloud CoCenter是一个Coocox用户的中心,提供用 户注册、软件下载及更新等功能。在未来,Coocox computing[EB/OL].[2011—02—23].http://www ~还将提供一个专用的即时通信工具,使用同一处 理器的开发者将自动被分配到同一个组中,这些 用户可在线进行实时交流。 03.ibm.com/press/us/en/pressrelease/22613. [3] ERIC K,GALEN G. ̄/'hat cloud computing really means [EB/OL].[2011—02—23].http://www.infoworld. com/d/cloud——computing/what——cloud—-computing—- really—means一031. 5 结论 Coocox Tools的目的是建立一个嵌入式开发 [4] BOSS G,MALLADI P,QUAN D,et a1.Cloud compu— ting[EB/OL].[2011—02—23].http://download. boulder.ibm.com/ibmdl/pub/software/dw/wes/hi・ pods/Cloudcomputingwp_final8Oct.pdf. 者社会网络平台,这种基于云计算的嵌入式开发 平台与传统嵌入式开发工具的不同在于: (1)根据开发者的需求,将开发所需的各种 信息和知识整理好;用户选择所使用处理器后,这 些相关信息就会被推给用户,节省了大量的开发 时间。 __[5] 陈康,郑纬民.云计算:系统实例与研究现状[J].软 件学报,2009,20(5):1337—1348. [6] 李宁,宋薇,周薇.嵌入式开发工具发展趋势[J].单 片机与嵌入式系统应用,2008(5):5~8. [7] BARROSO L A,DEAN j,HOLZLE U.Web search for (2)开发者不再是孤独的,及时的在线交流 可以缩短开发者解决问题的时间。 a planet:the Google cluster architecture[J].IEEE Micro,2003,23(2):22—28. (3)利用集体的智慧来整理信息,可以较快 提取出有效的知识进行共享。 [8] GHEMAWAT S.GOBIOFF H.LEUNG S T.The Google ifle system[C]//Proceedings of the 19th ACM Syrup— posium on Operating Systems Principles.New York: ACM Press.2003:29—43. 在未来,云计算的嵌入式开发平台不仅是开 发者之间的信息交流平台,还应该是开发者之间 的交易平台,用户可以相互交易代码和服务,也可 [9] CHANG F,DEAN J,GHEMAWAT S,et a1.Bigtable:a 以成为厂商与开发者的信息交流平台。 参考文献: [1]DANIELSON K.Distinguishing cloud computing from distributed storage system for structured data[C]// Proceedings of the 7th USENIX Symposium on Operat- ing Systems Design and Implementation.Seattle:WA, 2006:205—218. stributed programming [10] DEAN J,GHEMAWAT S.Diwith mapreduce[M].Sebastopol:O Reilly Media Inc,2007:371—384. utility computing[EB/OL].[2011—02—23].ht— tp://www.ebizq.net/blogs/saasweek/2008/03/dis一 Development Platform of MCU Base on Cloud Computing HE Hanqing,LI N g Abstract:The defects of traditional embedded development tools were analyzed and the change of the information organization way in the era of Cloud Computing was discussed firstly.Then a complete MCU application development platform—Coocox Tools based on the Cloud Computing was built up when the Cloud Computing was introduced to the embedded development tools.Coocox Tools organized the knowledge that the developers needed and provided it to users;it also provided a communication platform of embed— ded development knowledge for developers.So it cab greatly expedite the progress of the MCU application development.In addi- tion,Coocox is also a social network platform for embedded developers;it can organize ifornmation,extract and share expertise throuIgh the collective wisdom. Key words:cloud computing;embedded development tools;Coocox HE Hanqing:Engineer;Network Information Center,WUT,Wuhan 430070,China. [编辑:王志全]
因篇幅问题不能全部显示,请点此查看更多更全内容