8048的面世标志着控制专用CPU MCU(Microcontroller Unit)的延生,而作为互联 基石的PC,其CPU
8088却是在3年以后的1979年才出现。自1979年以后,PC的CPU从16位、4.77MHz时钟、单核发展到了今天的64位、常见的3GHz时钟和多核。而比PC的CPU历史悠久的MCU,其字节停止在32位已有10多年了。相对于芯片,MCU软件技术进展更慢,在PC机软件开发已由工厂化发展到全 会协同的今天,MCU软件技术仍停留在单打独斗的个人英雄时代。
尽管MCU的应用领域和市场规模都要比PC大得多,其MCU软件技术进展仍然十分缓慢,其中原因包括应用领域的碎片化导致公有技术抽象困难,开发力量难以聚焦。软件技术进展缓慢直接影响MCU芯片技术的发展,芯片的性能又反过来阻碍软件技术的发展。随着物联 (IOT)在人们生活中的渗透,高性能MPU的价格已下降接近MCU的价格区间,互联 软件技术不断向MCU领域浸入,加速MCU软件技术发展的时机已到来。
由无规则向OOA及OOD转化
MCU软件的前期分析设计将由无规则向OOA及OOD转化。传统的MCU软件开发,其分析设计和实施通常是由封闭的团队,甚至一个人独立完成。尽管团队内部成员理念一致、配合默契,项目实施敏捷。但整个开发过程都在同一团队进行,几乎不涉及团队外的协同开发,因此分析设计简陋,甚至只停留在口头上。随着IOT时代的到来,其封闭单一的团队难以适应今天的发展,团队外的协同是MCU软件开发的必然趋势,但前期分析设计的不足,会使问题变得更复杂。
编程方法由FP向OOP融合
软件开发的分离与成熟
中间件成熟,推动驱动软件与应用软件开发分离。过去因MCU性能和资源的限制,MCU软件开发与硬件开发是密不可分的,驱动软件是联接MCU硬件与软件之间的桥梁,它是MCU开发最重要的环节。因为驱动软件涉及软件和硬件技术,要求开发人员同时具备硬件和软件知识,所以驱动软件开发是MCU开发中最难的一个环节,它是MCU开发的主要成本。
2010年与ARM cortex M系列MCU先后出现的还有CMSIS(Cortex Microcontroller Software Interface Standard)。CMSIS是ARM公司制定的ARM Cortex-M系列MCU软件接口标准,它将MCU外设与软件无关抽象化。自此,MCU驱动软件由MCU制造商或MCU开发软件商提供,从而降低了MCU开发的难度,提高了MCU软件的重用性。
Ethernet、WiFi和Bluetooth是主要通信标准。作为IOT前端的MCU也必需具备信息交互功能。Ethernet、WiFi和Bluetooth等协议软件经过多年发展,已成熟、规范和专业,作为MCU的公有技术把它们植入到MCU软件之中是十分必要的。将它们封装成中间件,MCU软件开发时,在硬件的支持下只需要将这些中间件集成到MCU软件之中就能使MCU与互联 实现灵活的信息交互。例如ucTCPIP、CMX-TCP/IP、IwIP等是MCU软件开发常用的Ethernet中间件。在MCU开发时,不需要了解TCP/IP的细节,仅需将这些中间件集成到MCU软件中就能实现Ethernet功能。目前除了上述互联 信息功能外,还有大量的其他中间件,如MCU图形中间件emWin、USB中间件ecc-USB等。同时,MCU软件开发主流平台KEIL将自己的和第三方提供的中间件集成在同一开发平台上。MCU软件开发时,只需要将这些中间件集成到自己的软件中,就可实现相应的功能。
)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!