新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式软件开发工具造就更灵活的芯片

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

作者:Robert Cravotta,EDN技术编辑时间:2008-09-02来源:EDN China

  不断演变的软件方法不只是使基于的设计变得更加简便快捷。一个新兴趋势是,厂商制造更加灵活的硬件,提供使设计者更轻松地利用选项并在处理技术之间迁移的软件。

  要 点

  ·如何在体系结构日益增多的情况下保持甚至提高?行业正在努力解决这一难题。

  ·对于厂商而言,要想使其与众不同,集成软件,也可称为“捆绑”,是一种日益重要的途经。

  ·许多通用和专用方法正在兴起和不断演进,使设计者能探索比以往任何时候都更多的选择,并在不同选择之间转换。

本文引用地址:http://www.eepw.com.cn/article/87624.htm

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

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

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

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

  灵活的硬件

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

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

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

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

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


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

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论

技术专区

关闭