嵌入式软件验证问题增加

不一致的结果,集成问题,缺乏财政激励措施解决这些问题点持续问题芯片制造商。

受欢迎程度

嵌入式软件越来越复杂的设计的关键在管理能力和性能,但到目前为止没有共识的最佳方式——的创建问题。

即使对安全性要求苛刻的标准,如为航空航天和做- 178 cISO 26262汽车,不同组的工具提供商的方法从不同的角度用不同的软件。这会产生不一致的结果,可以使集成噩梦般的频繁的不兼容性,它很难迁移技术从一个项目到下一个,甚至从一个设计衍生品设计。

增加的复杂性异构SoC架构只有化合物问题。

“在这些新的异构出类拔萃,你通常有一个低功率的手臂皮层M核心,结合高性能ARM皮层核心,”凯西Tufto说产品经理导师图形的嵌入式系统。“有效验证异构系统的性能,开发人员需要一套工具,允许整个合并系统的调试,然后验证系统的性能。传统上,很多开发人员使用一个操作系统或裸露的金属在这些低功耗核心,并可运行Linux或QNX高性能核心。它可以非常具有挑战性的集成这些不同的操作系统在单一的一套工具,并找到一个单一的工具集,允许您验证总体性能。”

Tufto指出,来验证软件在异构系统中,工程团队需要调试,使用传统的方法,如通过代码的操作系统,并想象发生了什么在不同核心。“如果一个操作系统在低功耗设备做的事情阻止你的高性能的皮层处理器更新用户界面,看到,你需要一些方法。但你不能看到,只是从步进通过代码。”

的一大断开是嵌入式软件工具提供商的方法从不同的视角,进而决定他们如何验证方法从设计和描述。

例如,导师图形有很多工具上运行Vista的工具集,如Sourcery CodeBench开发环境,然后结合静态代码分析工具从Synopsys对此Coverity等等。

这种方法相当LDRA采取不同的,这使得软件验证工具。LDRA之际,这个问题从分析软件在开发生命周期的角度来看,确保符合标准。

“可见性和理解代码,没有执行,以及哪些变量已经被执行和控制路径,提供了详细的洞察力和透明度通常要求监管部门时,应用程序必须满足一定的安全或安全资质或认证,”吉姆·麦克尔罗伊说,在LDRA营销副总裁。“覆盖率分析是一个重要的衡量应用程序测试。认证/资格努力通常要求代码本身坚持行业最佳实践编码标准合规安全。”

但嵌入式软件也可以从架构层面,这提供了一个完全不同的视角。

“一旦你开始讨论嵌入式软件,你在谈论硬件相关的软件,这是试图让硬件和软件的设计尽可能接近,”说,首席技术官超音速。“你想让他们及时关闭,你想让他们亲密的组织上。软件控制硬件应该写在一起,和芯片分割成子系统是一个伟大的方式来促进子系统的,所以当你认为,你认为它是硬件部分和软件部分。”

Wingard指出,一些公司在这一领域的最佳实践是系统公司、芯片的豪华建筑为一个特定的目的。因此,他们不需要尽可能多的权力模式或包选项。他们没有尽可能多的组合“这UART保税一起,USB接口,“和他们有机会建立更简单的芯片,因为他们知道他们目标是什么。同时,他们可以只包括硬件特性,他们致力于编写软件使用,而一个标准产品芯片公司的压力找到多个客户的芯片,因此必须建立更复杂的东西。

“如果你跳进单片机空间——这是很多边缘设备的地方物联网来自现在——你发现硅公司负责编写大量的软件,”他说。“这些都是服务于多个市场的产品,有一个问题是否所有的不同的操作模式,硬件会在软件的支持,得到了免费的芯片。在很多情况下,答案是否定的。“最后,‘好吧,我们有芯片的数据手册,如果客户想要打开,其他模式的硬件,他们可以自由地做自己。但现在,[客户]远离硬件开发人员,并对他们而言,很难找出使用新模式的副作用。使用这种模式总是无风险?”

答案是通常但不总是正确的。

这是一个大优势的子系统模型。它可以封装的软件与硬件。

“通常情况下,处理器子系统内预计不会被任何人除了编程子系统供应商,“Wingard说。“你得到同样的权衡的垂直整合系统公司的世界,在那里你可以构建简单的硬件,您可以构建完整的软件,和你要确保他们工作在一个相对封闭的系统。倾向于生成高质量的东西,他们的工作做得更好。”

低功耗设计,硬件和软件的人亲密的组织上,它是更容易确定软件的人可能不觉得有力量影响确实有力量的影响。问题是,在软件的设计过程中你算出来吗?虽然力量建模会回答一些,模拟、虚拟平台和仿真也在今天使用为此——所有不同的初始投资的水平。

其他方法,如静态代码分析工具已经越来越受欢迎的公司如Coverity, Klocwork, Parasoft、演员等。

验证落后
与其他地区相比验证,嵌入式软件验证有点落后。的首席执行官治之软件指出,验证硬件的更多了解世界发生的年前。芯片行业工作多年的设计师在抽象。十年是用于开发仿真技术,和过去十年一直专注于验证技术。“在桌面软件和应用程序软件的空间,也有这样的进化多年。但是嵌入式软件世界已经落后的验证技术。”

复杂的是,在某些市场,验证和软件的质量是严肃对待。甚至有认证要求。“很多公司都参与嵌入式软件认证/验证的要求。但是认证的问题是它需要很多额外的努力的方法、实践,甚至在门(与客户),”他说。

然而,如果最终产品需要认证,模拟器需要认证,也不过一个模拟器从未在结束最终产品?“这不像一个编译器,你你的C代码转换成一个汇编程序,汇编程序进入产品,所以你需要知道C编译器认证。模拟器,就像有一个原型进化(设计)和发展它,永远不会成为真正的产品的一部分。它是用于开发而不是最终产品。仍然有一些疑惑在某些行业,”Davidmann指出。

然后是资源的问题。嵌入式软件验证团队不总是访问他们需要仿真器和硬件原型。因此,尽管他们可能想做更多的自动化测试,回归测试,和验证,在两到三年内,他们写他们的软件添加越来越多的测试。这个复杂的验证。

“嵌入式软件世界相同的验证挑战桌面,但添加维度的复杂性,即它需要某种形式的硬件类型的原型,因为它不是针对x86正常,”他说。“这是针对武器或MIPS瑞萨或弧或Tensilica,或不管它是什么。你不能只是在桌面上运行。你需要真正的硬件或模拟器的硬件。嵌入式软件世界这一挑战的方法进行开发,但在验证空间,它拥有所有桌面的挑战的人,连同另一维度的交叉编译,它需要一个系统的模型,以及输入和输出相关嵌入式世界。”

但如何密切这应该与EDA世界吗?这里应该花费多少精力?答案是不同的。

弗兰克•Schirrmeister高级集团董事、产品管理系统&验证小组节奏解释说,公司目前正在寻求嵌入式软件验证的部分市场,是自然的扩展模拟、仿真和原型,如嵌入式软件覆盖的软件运行在处理器中执行验证工具。他说,虽然嵌入式软件验证”一直是,将来,永远都是“一个重要的议题从技术的角度来看,重要的是要记住,累计为嵌入式软件设计座位价值约10000美元,因此,开发投资代表工具提供者甚至不能够实现。尤其是考虑到所有可用的开源软件在这方面,很商业的赌博工具提供者。

和一些软件的方法看起来很熟悉,硬件方面,工具提供商已经很难确定它适合一起EDA世界,甚至是否应该Schirrmeister说。其他领域,如合规,更清晰。“对我们来说,它是一个复选标记工具合规水平,所以我们必须投资的努力得到认证。如果我想打在汽车或mil-aero,这是一个先决条件。我需要投资。否则,我甚至不邀请参加宴会。”

最终,这可能是决定性的因素驱使更好的验证方法和工具在应用程序的嵌入式软件市场至少是必需的。当顾客需求的一个解决方案,该解决方案将到来,只要有一个可接受的商业案例开发它。但至少在短期内,动机和回报仍不明朗,还没有达成协议时,将会改变。

有关的故事
差距在验证流程
第3部分:小组成员讨论软件验证,SystemC和未来技术将有助于验证跟上。
正式的路线图
第2部分:需要一个正式的规范,为模拟形式验证覆盖率和进展。
开放标准验证吗?
压力构建提供常用方法使用验证结果分析和测试目的。



留下一个回复


(注意:这个名字会显示公开)

Baidu