嵌入式软件开发工具造就更灵活的芯片
扫描二维码
随时随地手机看文章
不断演变的软件开发方法不只是使基于处理器的设计变得更加简便快捷。一个新兴趋势是,厂商制造更加灵活的硬件,提供使设计者更轻松地利用选项并在处理技术之间迁移的软件。
要 点
如何在体系结构日益增多的情况下保持甚至提高软件生产率?行业正在努力解决这一难题。
对于处理器厂商而言,要想使其与众不同,集成软件,也可称为“捆绑”,是一种日益重要的途经。
许多通用和专用方法正在兴起和不断演进,使设计者能探索比以往任何时候都更多的选择,并在不同选择之间转换。
半导体公司正把更多软件与其各自的处理器产品集成起来,这与过去截然不同,那时各公司把软件开发工作和各种工具留给设计公司独自完成。最早的软件与硬件集成产品是汇编器和编译器等开发工具,旨在使目标处理器的编程更容易。在过去几十年间,半导体公司及其开发工具合作伙伴提供的用于支持嵌入式软件开发工作的软件不断发展壮大。但这些工作的重点一直是简化和加快某种目标处理器或某个类似处理器家族的使用与开发(见附文 《软件生产率》)。至今在半导体公司及其合作伙伴的软件和硬件集成方式方面出现了一个新趋势,它不只是使开发更加简便快捷,而且还使硬件更加灵活,并使设计者能够在针对某个处理目标确定和优化设计方案之前探索更多选项。
嵌入式处理器市场的软件开发面临的一个挑战是:如何高效地为设计者提供的大量处理器体系结构(参考文献 1 和参考文献 2)。存在如此多的处理选项的一个原因是,它是嵌入式设计的一个关键考虑事项,以便能够很好地平衡提供的各种功能、特性和功耗,并利用最少的资源实现更低的成本。有数十家半导体公司向嵌入式系统设计者提供处理器,并且有若干种不同的处理方法集中于如何最好地解决问题(参考文献 3),例如采用微处理器、微控制器、DSP(数字信号处理器)、可编程逻辑交换结构、DSC(数字信号控制器)等。上述每个处理选项在体系结构方面均为各自最擅长处理的任务类型选择了一些折中,这经常是以其它的体系结构限制为代价,后者在迅速而高效地执行这些任务方面的作用可忽略不计。
若在单一系统内采用 DSP、微处理器、加速逻辑等多个处理选项,就会进一步提高嵌入式软件开发工作的复杂性。多数用户把注意力重点放在台式机内的 CPU上,但是操纵磁盘驱动器、网络连接、视频显示器等外设是电脑内的一些嵌入式处理器。汽车需依靠数十颗处理器,即使是洗衣机、、冰箱等家电也可能使用若干颗微控制器来控制电机和用户界面,并监视整个系统。上述多个处理单元以更低的功耗和成本提供了恰好足够的性能。
由于存在大量代码不兼容的特殊处理选项,迫使软件开发团队按照目标处理器体系结构来确定其设计,这是他们必须采取的首要行动之一。由于团队在一期对于项目最终所需资源知之甚少,因此上述决定对于项目的总体成本、设计难度和风险具有重大影响。
灵活的硬件
极为重要的是,半导体公司日益认识到:供应的软件、运行时代码块、开发工具再也不只是促进各自芯片上市和销售的辅助工具,其还是整套系统的必要组成部分。事实上,半导体公司在其芯片配套软件方面将投入的总资源占开发预算的很大、很重要的一部分。处理器公司称自己未涉足软件领域的时代结束了。半导体公司的重点正在转向那些把系统的某些部分划分为硬件和软件的系统公司。它们把其余软件能力留给设计公司,以便添加各自的差异化特性。
半导体公司正在创建和维护更多的芯片产品配套软件,这是因为对于这些公司而言,利用软件来继续过去十年的整合历程成本更低,更安全,更灵活。处理器设备一直在把系统的更多部分集成到单一芯片中,包括外设、内存和存储器控制器等。然而,把所有功能部件都作为硬件集成起来并不总是切实可行的。例如,CRC(循环冗余检查)在软件中执行时,是一项高成本的功能,但在硬件中实现则比较简单。然而只有数种处理器(如 公司的产品)实际包含集成式 CRC 寄存器。在所有处理器中都包含 CRC 寄存器没有意义,这是因为许多应用不需要它,但是某些情况中,处理器的主要应用会足够多地使用它,因而这就有理由把它包含在芯片中。
处理器厂商对集成软件看法的改变导致的一个新结果是,如果厂商和设计者能在其提供的处理器当中支持灵活性,那么这类软件就会给他们带来巨大好处。多数处理器公司均提供多种处理器体系结构,因此它们能更好地面向多种应用。为所有这些产品提供有用的集成软件并非一件易事,特别是如果无法在所有这些体系结构之间支持软件灵活性。事实上,虽然一些公司在其部分处理器产品内支持灵活性,但提供面向公司所有体系结构的整合且全面的集成软件套件依然是将来的一个目标。该方法不同于能支持半导体厂商整个处理器产品线开发工作的单一集成软件开发环境。