新闻中心

EEPW首页>嵌入式系统>市场分析> 嵌入式系统与FPGA的最新动向

嵌入式系统与FPGA的最新动向

作者: 时间:2011-03-25 来源:电子产品世界 收藏

  可见,不会脱离数字设计的核心。在集成模拟/数模混合器件时,会对性能和制程带来一些挑战。在一些高性能或独特应用场合,独立的模拟器件仍举足轻重。独立的模拟器件的发展趋势是集成度更高,精度更高,可编程性更强,并有自家的开发工具支持,简单易用等。

本文引用地址://m.amcfsurvey.com/article/118084.htm

  MIPS架构寻机突破

  如今,ARM是32位架构中增长最快的部分,有专门为不同嵌入式处理器准备的10种左右的Cortex授权。一般公认ARM阵营的优势是可利用的丰富的生态环境。

  不过,MIPS科技公司这几年也在寻求突破。Microchip是MIPS架构的积极拥趸者之一,最近,Microchip的Erlendur Kristjansson对ARM公司声称的32位单片机()应用的可移植性产生了疑问。

  32位单片机的应用可移植性:现实还是神话?

  Erlendur首先介绍了事情的原委:2008 年11 月,ARM公司宣布推出Cortex微控制器软件接口标准(Microcontroller Software Interface Standard,CMSIS)。ARM声称,对于新器件的软件开发项目或将现有软件在不同芯片厂商的基于Cortex-M 的单片机之间移植时,这项标准可降低软件设计成本。这听起来很不错,但事实确实如此吗?

  Erlendur分析道,根据ARM 所言,CMSIS 是“适用于Cortex-M 处理器系列的与厂商无关的硬件抽象层。CMSIS为不同芯片厂商和中间件提供商的处理器提供了简单一致的软件接口,这简化了软件重用,缩短了开发人员对于新单片机(MCU)的学习过程以及新器件的上市时间。CMSIS的问世使芯片厂商可将资源集中在突出其产品的外设功能上,无需在对单片机进行编程时保持各自不兼容的标准[10]。”

  可移植性的可能性探讨

  我们已了解各个单片机制造商都能提供什么,现在可以看一下抽象层能为设计人员做些什么(如果有的话)。首先,我们来看CMSIS 声称所能提供的功能,同时应记住前文所述的系统架构、外设和固件库。

  CMSIS 版本1.3

  1.内核外设访问层:包含用于访问内核寄存器和外设的名称定义、地址定义和辅助函数。它还定义了一个用于RTOS 内核的器件无关接口,其中包含调试通道定义[11]。

  2. 这些软件层由芯片合作伙伴通过以下方式进行扩展:

  a) 器件外设访问层,提供所有器件外设的定义;

  b) 用于外设的访问函数(可选):提供用于外设的附加辅助函数[11]。

  仔细阅读此说明后,我们可以看到CMSIS 提供了一种通用语言,通过它可描述MCU 的不同元件。

  接下来,我们看一下两个不同的“芯片合作伙伴(使用ARM Cortex-M 处理器内核的MCU 制造商)”所生产的MCU 中包含的部分功能。

  显而易见的是,尽管这两个32 位MCU制造商都使用Cortex-M3 内核,但主要功能仍有区别。表1中列出的功能是单片机最标准的功能,即便如此它们仍有不同。这意味着,即使这两个制造商使用相同的内核,也需要对软件进行调整才能运行最基本的程序,例如翻转I/O 或使用UART。如果不进行一定程度的代码重写,而只是对基本参数进行调整,则无法在A和B之间移植软件。

  另外,在表1的示例中,厂商A和B的单片机都使用了ARM Cortex-M3 内核,并且都具有符合CMSIS 标准的固件库。这是否意味着他们的库(例如电机控制库)可以互相移植?

  其实不见得。这两个制造商对外设和固件采用了完全不同的方法。厂商A 使用专用算法库(可能由多人经过数年开发而成)来最高效地利用其单片机上的专用外设。而厂商B 则专注于使用更通用的外设并构建通用外设库,对于特定应用则使用示例代码和应用笔记进行说明。

  这两种完全不同的方法使得在这两个制造商的MCU 之间移植程序(例如电机控制子程序)非常困难,尽管它们使用了相同的内核。此外,库函数的命名也不相同,这意味着用户必须重写代码中的所有库函数调用,并且要弄清将哪些变量和值提交给函数。这完全不是所谓的可移植性。

  再有,设计人员关注的重点是开发特定最终用途代码时的速度、效率和可靠性。厂商A和B采用不同的方法来达到这些目标。厂商A使用基于专用硬件的方法,而厂商B的法更加专注于通用硬件。厂商A 针对特定应用提供了经过潜心开发的专用库,以最大限度地利用其单片机的功能。而厂商B 只提供基本构件,让开发人员构建自己的解决方案。



关键词:MCUFPGA201103

评论


相关推荐

技术专区

关闭