嵌入式系统的出现彻底改变了整个电子技术行业,在全球范围内形成了从高校教育和科学研究、电子元件生产厂和电子产品生产厂全方位产业链。因MCU的市场容量大,MCU厂家为了获得更多的市场份额,不断地加大MCU的开发力度,自Intel在1980年发布MCU标志性产品MCS-51开始,到现在的30多年中出现了近100种MCU内核,涉及MCU型号超过3000种。在世界电子元件史上,除了MCU外,还没有一种功能相近,涉及型号如此之多的电子元件,自MCU一出世就进入了战火纷飞的战国时代。但ARM核的出现使MCU领域产生了巨大的变革。
天下一统 ARM核MCU性能价格优势明显
ARM7TDMI模式的出现,使嵌入式系统开发逐渐统一到相同MCU内核和软件开发工具上来,为嵌入式系统走出“不断地学习新内核MCU,不断地放弃老内核MCU”的怪圈创造了条件。
相对于普通电子元件,MCU除了电气特性外,还涉及指令系统,不同内核的MCU具有不同的指令系统。指令系统的不同,意味着MCU软件开发平台和嵌入式软件的不同。
30多年里出现近100种MCU内核,除了说明MCU技术进步快之外,还意味着不仅是MCU厂家在不断“重造车轮”的过程中浪费了大量的人力和财力,更使处于MCU产业链的终端的嵌入式系统苦不堪言。对于嵌入式系统厂家,如果坚守同一内核的MCU,则产品性价比差,特别是MCU到了生命期后还会停产;如果不坚守同一内核的MCU,则需要推翻已成熟的硬件和软件,因硬件是可视的,不同内核MCU的电气特性相差不大,更新比较容易,而软件则很困难。更换了不同内核的MCU,首先是要重新购买软件开发工具,其次软件人员要重新学习指令系统和软件开发工具,最后才是将过去的软件移植到新内核MCU上。其实软件移植也是十分困难的,因为首先遇到的软件开发工具存在BUG(软件开发工具也是软件,开发软件开发工具的软件开发人员对MCU指令系统的理解程度决定软件开发工具的质量,并且他们理解MCU指令系统也需要时间);其次是不同内核的MCU其软件架构和算法差异性大,软件移植过程投入的人力物力和重新开发投入的人力物力能相比拟。因此对于嵌入式系统来说,这30多年里主要精力不是放在让嵌入式系统更好地服务于特定应用,而是放在不断地更换不同内核的MCU,被迫跟随MCU厂家陷入“不断地学习新内核MCU,不断地放弃老内核MCU”的怪圈。
ARM7TDMI模式的出现使MCU产业链的源头发生本质性的变化。ARM7TDMI模式是:ARM向各MCU厂家出售ARM7TDMI内核,MCU厂家根据其市场目标将购买的ARM7TDMI内核与不同外设集成,形成内核相同、外设不同的MCU,保证了内核的一致性;同时ARM协助第三方编译厂家开发软件开发工具,如IAR、Keil,而且ARM也推出了相应的软件开发工具STD和ADS,从而保证了MCU软件开发工具的一致性。通过上述的工作,使嵌入式系统开发逐渐统一到相同MCU内核和相同的软件开发工具上来,保证了MCU的升级换代不受MCU内核的困扰,为嵌入式系统走出“不断地学习新内核MCU、不断地放弃老内核MCU”的怪圈创造了条件。
ARM公司在MCU产业链源头的创新,使基于ARM核的MCU型号迅速增加,以满足不用应用领域的需求。在性能上,基于ARM核的MCU完全超过目前4位、8位、16位和部分32位MCU的性能;在价格上,基于ARM核MCU的价格从5元以下开始,一直延伸到数百元,完全覆盖了同时期的4位、8位和16位MCU的价格范畴。性能和价格的优势使基于ARM核MCU一统天下的局面开始形成。
软件之痛 嵌入式软件开发实力比PC弱
嵌入式系统的软件开发行业的整体实力却比PC行业弱很多,这是因为开发体系缺乏、开发工具缺乏、软件开发要求低、开发人员不适应嵌入式系统之变。
直到2000年,MCU的性能还不能令人满意,业界广泛应用的MCU,其运行速度低于10MIPS,存储器和外设都很少,许多应用需要外扩存储器和外设。当时的嵌入式系统开发过程,首先最重要的工作是扩展存储器和外设,其次是编写MCU与扩展外设之间的驱动程序,最后才是为特定应用服务的软件开发。因MCU速度低,扩展外设的驱动程序占用了不少MCU运行时间,留给特定应用程序运行的资源很少,所以特定应用服务的软件很简单。因此,当时嵌入系统开发是以硬件及其与硬件直接相关的软件开发为主。
------------ ---------- ----------- ---------- --------- -------- ------- ------ ----- ---- --- -- - - -