>
首页 » 业界动态 » 嵌入式软件开发工具造就更灵活的芯片

嵌入式软件开发工具造就更灵活的芯片

作者:  时间:2008-09-23 11:12  来源:转贴

半导体公司正把更多软件与其各自的处理器产品集成起来,这与过去截然不同,那时各公司把软件开发工作和各种工具留给设计公司独自完成。最早的软件与硬件集成产品是汇编器和编译器等开发工具,旨在使目标处理器的编程更容易。在过去几十年间,半导体公司及其开发工具合作伙伴提供的用于支持嵌入式软件开发工作的软件不断发展壮大。但这些工作的重点一直是简化和加快某种目标处理器或某个类似处理器家族的使用与开发(见附文 《软件生产率》)。至今在半导体公司及其合作伙伴的软件和硬件集成方式方面出现了一个新趋势,它不只是使开发更加简便快捷,而且还使硬件更加灵活,并使设计者能够在针对某个处理目标确定和优化设计方案之前探索更多选项。

  嵌入式处理器市场的软件开发面临的一个挑战是:如何高效地为设计者提供的大量处理器体系结构(参考文献 1 和参考文献 2)。存在如此多的处理选项的一个原因是,它是嵌入式设计的一个关键考虑事项,以便能够很好地平衡提供的各种功能、特性和功耗,并利用最少的资源实现更低的成本。有数十家半导体公司向嵌入式系统设计者提供处理器,并且有若干种不同的处理方法集中于如何最好地解决问题(参考文献 3),例如采用微处理器、微控制器、DSP(数字信号处理器)、可编程逻辑交换结构、DSC(数字信号控制器)等。上述每个处理选项在体系结构方面均为各自最擅长处理的任务类型选择了一些折中,这经常是以其它的体系结构限制为代价,后者在迅速而高效地执行这些任务方面的作用可忽略不计。

若在单一系统内采用 DSP、微处理器、加速逻辑等多个处理选项,就会进一步提高嵌入式软件开发工作的复杂性。多数用户把注意力重点放在台式机内的 CPU上,但是操纵磁盘驱动器、网络连接、视频显示器等外设是电脑内的一些嵌入式处理器。汽车需依靠数十颗处理器,即使是洗衣机、微波炉、冰箱等家电也可能使用若干颗微控制器来控制电机和用户界面,并监视整个系统。上述多个处理单元以更低的功耗和成本提供了恰好足够的性能。

  由于存在大量代码不兼容的特殊处理选项,迫使软件开发团队按照目标处理器体系结构来确定其设计,这是他们必须采取的首要行动之一。由于团队在一定时期对于项目最终所需资源知之甚少,因此上述决定对于项目的总体成本、设计难度和风险具有重大影响。


  灵活的硬件

  极为重要的是,半导体公司日益认识到:供应的软件、运行时代码块、开发工具再也不只是促进各自芯片上市和销售的辅助工具,其还是整套系统的必要组成部分。事实上,半导体公司在其芯片配套软件方面将投入的总资源占开发预算的很大、很重要的一部分。处理器公司称自己未涉足软件领域的时代结束了。半导体公司的重点正在转向那些把系统的某些部分划分为硬件和软件的系统公司。它们把其余软件能力留给设计公司,以便添加各自的差异化特性。

  半导体公司正在创建和维护更多的芯片产品配套软件,这是因为对于这些公司而言,利用软件来继续过去十年的整合历程成本更低,更安全,更灵活。处理器设备一直在把系统的更多部分集成到单一芯片中,包括外设、内存和存储器控制器等。然而,把所有功能部件都作为硬件集成起来并不总是切实可行的。例如,CRC(循环冗余检查)在软件中执行时,是一项高成本的功能,但在硬件中实现则比较简单。然而只有数种处理器(如 Microchip 公司的产品)实际包含集成式 CRC 寄存器。在所有处理器中都包含 CRC 寄存器没有意义,这是因为许多应用不需要它,但是某些情况中,处理器的主要应用会足够多地使用它,因而这就有理由把它包含在芯片中。

  处理器厂商对集成软件看法的改变导致的一个新结果是,如果厂商和设计者能在其提供的处理器当中支持灵活性,那么这类软件就会给他们带来巨大好处。多数处理器公司均提供多种处理器体系结构,因此它们能更好地面向多种应用。为所有这些产品提供有用的集成软件并非一件易事,特别是如果无法在所有这些体系结构之间支持软件灵活性。事实上,虽然一些公司在其部分处理器产品内支持灵活性,但提供面向公司所有体系结构的整合且全面的集成软件套件依然是将来的一个目标。该方法不同于能支持半导体厂商整个处理器产品线开发工作的单一集成软件开发环境。


 处理器体系结构变化的趋势使事情更加复杂。据 Hi-Tech Software 公司首席执行官 ClydeStubbs 表示,与行业预期相反的是,处理器体系结构的数量实际上一直在增加。在某种意义上,指令集体系结构的这种扩散证明了现代编译器的成功,这是因为在对目标处理器的指令集进行抽象方面,它们做了值得认可的工作。虽然一些变化来自特殊执行引擎等体系结构特性,但内存体系结构能够容忍内存访问延迟是架构差异化的重大推动力量。这种体系结构的变化性是反复无常的,它是实际差异化的结果,体系结构设计团队为针对特定应用类别的处理器做一些折中。

  这类变化性削弱了第三方IP块的可用性和高效率代码(特别是实时敏感代码)的移植性。C和C++等编程语言不包括以适应这些在体系结构方面很重要的差异为目标的结构。,倘若编译器需要能够有效采用这些差异化资源,就必须使用专有语言扩展。因此,虽然处理器体系结构在指令级已变得对编译器更友好,但在现代体系结构的差异化特性方面,它们对编译器已变得不太友好了。处理器的指令集是较次要的差异化因素,它的内存体系结构,以及它如何能以并行方式或较低功耗执行相关操作,则是更重要的因素。遗憾的是,这些任务并非编译器的强项。

即使在不同处理器之间使用相同指令集,也不足以在它们之间轻松实现灵活性。获得 ARM 授权的组织对各自 ARM7 设备实现差异化的方式之一是借助专有的中断、总线、外设和内存访问结构。虽然这种方法使处理器能处理某类工作负荷,但它使两个使用相同 CPU 的设备之间的代码移植复杂化了。ARM 的 Coretex 体系结构是措施的一部分,其目的是通过为中断处理指定一致方法等,帮助应对这些类型的软件移植难题。


  接触点

  要想使设计者能灵活地探索更多处理器体系结构,并推迟按照特定设备来确定设计,就需要半导体公司及其软件工具合作伙伴采取措施。许多公司在其提供的处理器之间使用通用外设块,并对每类外设支持一致的接口。为了帮助设计者配置和使用外设,许多公司现在提供器件管理器、配置向导、处理器专家工具或可视化器件初始化工具,它们使设计者以更高的抽象级别操作,并避免了解如何把外设明确置入特定状态的学习过程。该方法使设计者能更灵活地选用这些工具支持的器件,但它仍需要设计者了解硬件加速器或智能外设等特殊块与普通块之间在处理性能与功耗之间的因果关系。

  在供选择的芯片中支持灵活性的差异化方法包括 Microchip 公司的通用代码基,它使设计者能在 16 比特 PIC 器件和 32 比特 PIC 器件之间迁移,并提供公共 API (应用程序接口)来抽象体系结构差异和表示虚拟外设。它还给予外设块一个明确而一致的外观、感觉与行为,并借助外设引脚选择功能来提供重新映射 I/O 引脚的能力。

  瑞萨科技公司(Renesas)发布了 RX 系列处理器,旨在统一来自三菱(Mitsubishi)和日立(Hitachi)的传统 16 比特和 32 比特处理器之间的外设 IP,作为这些体系结构的扩展。EXREAL(Excellent Reliability Efficiency Agility Link)平台是“母”(或称“超集”)平台,目标是使用通用软件评估、开发、优化和验证技巧来开发专门处理器平台,以便探索更多的体系结构。

  飞思卡尔公司(Freescale) Flexis 平台提供的软件开发环境涵盖 8比特和32 比特体系结构,并支持在这些体系结构之间上下迁移,由此尝试在价格、性能、功率折中之间提供更多灵活性(图 1)。该公司消费与工业微控制器业务全球产品营销经理 Jeff Bock 表示,50%的 Flexis 设计者一开始就知道自己将以哪个体系结构为目标,25% 以这两种体系结构为目标,其余 25% 考察这两种体系结构,并推迟自己的选择,直到他们拥有应用代码,并能比较二者之间的差异。

  德州仪器公司(TI)的 DaVinci 开发方法(图2)是较早的 OMAP(开放多媒体应用平台)方法的进一步演进,它在芯片实现方面采取了最极端的立场。DaVinci 器件可以包括微处理器、微控制器、DSP、FPGA 甚至硬件加速器的任意组合。这种方法的一个结果是,虽然设计者可能会使用多颗异构内核,但软件开发模型试图通过 API 对实施进行抽象,以便在新芯片上市时设计者能更简便地迁移到更好的芯片目标,而无须做太多移植工作。德州仪器公司 DSP 战略营销经理 Greg Mar 指出,尽管设计者努力保护自己的软件投资,但他们需要支持不同的“接触点”(或称“互动级”),这些不同接触点甚至来自同一客户,这给开发带来了严峻挑战。

  接触点对于任何嵌入式处理器供应商都是大问题,这是因为,虽然一些设计者想在应用层操作,这是API 和软件投资保护的理想之选,但其它一些设计者想借助汇编语言编程在硬件抽象层等更低级别接触系统,向下一直到达芯片。这种情况造成了重大挑战,因为开发者在开发系统时想看到不同信息。 

现代处理器系统及其周围生态系统的一个关键因素是,它们使设计者能比以往任何时候都开展更多的探索。许多处理器提供评估板或演示板。现代低成本评估工具包的一个主要目标是使设计者能迅速考察处理器系列,并确定它是否是自己项目的良好选择。关注现代评估工具包细节就是为了使设计者能把硬件与纵向目标软件集成起来,由此在几分钟内就可开展工作。这些系统还为设计者节省了时间,这是由于它们能立即确认,当设计者首次把系统连接到自己的工作站时,系统实际上就在正确运行了,还由于它们能避免因开箱后工具包不能恰当工作而丧失故障处理机会。它们使设计者能探索更多处理选项,并使半导体公司能更多地接近设计者。

  把处理器的运行实施交到设计者手中还意味着供应商能提供差异化软件,以便扩充、优化平台,并通过创建通用的优化软件库(它们支持工具包代表的各种处理器选项)来更好地使平台针对设计者的项目。使用集成软件日益符合设计者的利益,这样他们就能把过去学到的经验教训融合到处理器提供商提供的未来版本中。不仅使这种集成软件保持原状也符合处理器厂商的利益,这是因为在设计者考虑之前,它就是包括硬件和软件分区的系统产品不可分割的一部分。

相关推荐

Ctrack选用u-blox GPS和蜂巢式模组开发车队管理解决方案

u-blox  嵌入式  Ctrack  2014-05-21

高通首款64位处理器或改变手机市场格局

高通  处理器  2013-12-17

高通将推出骁龙410处理器参考设计版本

高通  处理器  2013-12-12

动作撷取追踪的嵌入式体感控制新技术

嵌入式  体感控制  2013-12-06

三星仍是苹果A系列处理器唯一代工厂

三星  处理器  2013-11-14

ARM第三财季净利润7830万美元 同比涨17%

ARM  处理器  2013-10-23
在线研讨会
焦点