新闻中心

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

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

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

  接触点

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

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

  在供选择的芯片中支持灵活性的差异化方法包括 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 和软件投资保护的理想之选,但其它一些设计者想借助汇编语言编程在硬件抽象层等更低级别接触系统,向下一直到达芯片。这种情况造成了重大挑战,因为开发者在开发系统时想看到不同信息。

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

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


参考文献
1. Cravotta, Robert, “EDN Microprocessor/Microcontroller Directory.”
2. Cravotta, Robert, “EDN DSP Directory.”
3. Cravotta, Robert, “Processing options,” EDN, Jan 19, 2006, pg 42.


--------------------------------------------------------------------------------
  附文:

  自从厂商推出首批汇编器为开发商简化和加快早期处理器的编程以来,处理器体系结构和软件开发工具已经发生了重大变化。汇编器过去基本上是把底层处理器体系结构一对一映射到一套记忆法中,后者使人们更加简便可靠地把逻辑语句转换成机器代码。随后出现的高级语言编译器的目标是对编程的低级别复杂性进行抽象,使程序员能够重点专注于逻辑意图,而非低级别编码实现。

  早期编译器面临的一个挑战是,厂商在设计处理器体系结构时,经常是为了体系结构团队的利益,而非软件团队,这导致与手工优化汇编方法相比,编译器一般会生成相当差的代码。表现差的部分原因在于,早期处理器体系结构依赖于特殊资源结构,比如特殊功能寄存器和地址库。为了高效率利用这些特殊资源,设计者必须建立并跟踪一组假设,以避免资源冲突,该冲突会导致不正确的系统行为。编程语言甚至不认识这些特殊资源,并且没有标准方式让编译器知道应用于每种特殊资源的种种假设,因此编译器必须建立最保守的一组假设来制造更安全但效率更低的代码。许多现代编译器都实行专有指令,它们使开发者能指引编译器使用一组较松散的假设来生成更高效的代码。

  的下一个提高并非像汇编器和编译器这样的纯粹软件方式,它出现的原因是处理器体系结构设计者开始与软件工具开发者合作制造对编译器更友好的体系结构。通过使指令和资源交汇,编译器在生成代码时就能运用一组更好、更合理的假设,并且编译器技术就能足够成熟,不再需要手工优化。

  许多现代编译器很出色地把指令重新排序,以便与处理器的指令提取和执行机制很好地配合,并最大限度缩短处理器停顿时间。然而,现代编译器的问题依然是如何最好地分配和使用处理器的特殊资源,特别是那些对总线和存储器访问等系统其它部分固有的等待时间进行补偿的资源。这些资源包括特殊总线、内存、DMA 结构等,它们使处理器在某些任务方面比其它处理器有优势。即使在今天,设计者通常也必须明确分配和宣布如何最佳使用这些资源。开发工具与编译器不同,通常不包含若干特性实现上述目标,但这些信息经常以应用说明的形式供人们利用。这种情况为编译器和软件开发工具带来了一个存在机会的领域,但尚不存在明显方法完成这一任务。

  的下一个提高来自集成开发环境,它们在单一环境中提供了各种工具,包括程序编辑器、解析器、调试器和项目管理器。这些环境已经演进,因此能提供一致的方式为各种处理器目标开发软件。它们使设计者不需要为每个项目全面学习使用不同的工具集和处理器。德州仪器公司的 DaVinci 和飞思卡尔公司的 Flexis 等一些开发环境正在发生演变,使设计者能在设计周期的后面改变目标处理器。

  各种软件开发工具继续发展并提高软件生产率,但每次提高都伴随着硬件变化。分配了优先权的硬件资源使操作系统更加高效。要想了解日益复杂的处理器器件内部发生的事情,专用芯片上硬件调试资源至关重要。公司不仅支持外设配置向导帮助设计者,而且还在自己产品线内部采用通用的外设块(或称接口包装器),以降低软件开发工具和开发者必须应对的复杂性。随着用于实现处理器的晶体管数量的不断增加,处理器将专门用于提高软件生产率的晶体管数量也会不断增加。

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

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭