欢迎来到天天文库
浏览记录
ID:27496362
大小:27.00 KB
页数:5页
时间:2018-12-04
《IOT时代谈驱动-MCU软件技术.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、IOT时代谈驱动/MCU软件技术 8048的面世标志着控制专用CPUMCU(MicrocontrollerUnit)的延生,而作为互联网基石的PC,其CPU8088却是在3年以后的1979年才出现。自1979年以后,PC的CPU从16位、4.77MHz时钟、单核发展到了今天的64位、常见的3GHz时钟和多核。而比PC的CPU历史悠久的MCU,其字节停止在32位已有10多年了。相对于芯片,MCU软件技术进展更慢,在PC机软件开发已由工厂化发展到全社会协同的今天,MCU软件技术仍停留在单打独斗的个人英雄时代。 尽管MCU的应用领域和市场规模
2、都要比PC大得多,其MCU软件技术进展仍然十分缓慢,其中原因包括应用领域的碎片化导致公有技术抽象困难,开发力量难以聚焦。软件技术进展缓慢直接影响MCU芯片技术的发展,芯片的性能又反过来阻碍软件技术的发展。随着物联网(IOT)在人们生活中的渗透,高性能MPU的价格已下降接近MCU的价格区间,互联网软件技术不断向MCU领域浸入,加速MCU软件技术发展的时机已到来。 由无规则向OOA及OOD转化 MCU软件的前期分析设计将由无规则向OOA及OOD转化。传统的MCU软件开发,其分析设计和实施通常是由封闭的团队,甚至一个人独立完成。尽管团队内部成
3、员理念一致、配合默契,项目实施敏捷。但整个开发过程都在同一团队进行,几乎不涉及团队外的协同开发,因此分析设计简陋,甚至只停留在口头上。随着IOT时代的到来,其封闭单一的团队难以适应今天的发展,团队外的协同是MCU软件开发的必然趋势,但前期分析设计的不足,会使问题变得更复杂。 将PC软件开发成熟的方法论引入MCU软件领域,则是促进MCU软件技术发展的捷径。OOA(ObjectOrientedAnalyzing)和OOD(ObjectOrientedDesign)是系统工程理论在PC软件技术中的体现,它们是支撑软件技术工厂化和社会化的重要理论
4、基础。OOA及其OOD通过对应用进行分层、分类抽象处理,将部分层与类从应用中剥离出来,从而使协同者不需要了解应用就能进行软件开发。从1997年开始,作者以系统工程理论为基础开始探索OOA及OOD在MCU软件开发中的应用,并于2005年将初步成果应用于继电保护装置开发。其方法是将继电保护装置分层分类封装在4个不同的MCU之中,在不具备独立开发继电保护装置的团队中实施,其开发时间和开发投入远低于当时同行业经验丰富的开发团队。该系列继电保护装置已经应用10多年了,不仅维护升级方便,而且至今竞争力不减。 编程方法由FP向OOP融合 编程方法由F
5、P向OOP融合是另一个发展趋势。在编程方法上,FP(FuncTIonalprogramming)与OOP(ObjectOrientedProgramming)之间的战争从来没有停止过。作者认为脱离应用背景,讨论FP与OOP是毫无意义的,因为FP强调的是精英技术,它是开发人员的综合个人能力的体现,是一门精致而美的艺术,艺术的特点就是难以复制;OOP则是实施软件开发工厂化与社会化的一门技术,其不足在于CPU及其资源利用率低,但高速发展的芯片产业弥补了它的不足。MCU软件技术是FP的代表者之一,但它实在是无奈之举。因为直到2000年,主流MCU还
6、停止8位、256Byte内部RAM和12MHz的时钟,在这样低的资源下进行软件开发,不仅仅是FP编程方法,更有C与汇编的交融,它已超越技术,升华为一门艺术。 2000年以后,OOP己成为PC软件开发的主流技术,现在主流MCU内核ARMcortexM3/M4与2000年时PC的资源配置接近,在MCU软件开发中实施OOP的条件已具备。PC软件开发成功的经验证明:实施OOP,是降低软件研发的门槛,是将软件开发从精英模式走向工厂化和社会化的有效措施。同时也是解决软件开发人员短缺的唯一手段。作者于两年前通过对OOP编程语言JAVA的归零学习,已感悟
7、OOP之真谛。然后亲自编程将OOP技术应用于MCU软件开发中,并向同行、同事介绍OOP在MCU软件开发中的体会,让目前的MCU软件开发人员拓展思路,使他们从封闭的思维方式中解脱出来,走向社会化,其效果也是非常明显的。 软件开发的分离与成熟 中间件成熟,推动驱动软件与应用软件开发分离。过去因MCU性能和资源的限制,MCU软件开发与硬件开发是密不可分的,驱动软件是联接MCU硬件与软件之间的桥梁,它是MCU开发最重要的环节。因为驱动软件涉及软件和硬件技术,要求开发人员同时具备硬件和软件知识,所以驱动软件开发是MCU开发中最难的一个环节,它是M
8、CU开发的主要成本。 2010年与ARMcortexM系列MCU先后出现的还有CMSIS(CortexMicrocontrollerSoftwareInterfaceStand
此文档下载收益归作者所有