解锁高可靠性:优化嵌入式软件开发与功能安全认证

   2025-09-04 工业品商城6
核心提示:近年来,国内电子公司与芯片设计企业正积极拓展在高可靠应用(mission-critical)领域的影响力,如汽车、医疗和工业控制等,为自身发展开辟了新的蓝海。这些领域往往将功能安全认证视为“门槛”甚至是“必需品”,其过程涉及繁琐的流程和严格的测试,以填补功能安全清单。尽管功能安全认证一直充满挑战,但引入行之有效的方

 近年来,国内电子公司与芯片设计企业正积极拓展在高可靠应用(mission-critical)领域的影响力,如汽车、医疗和工业控制等,为自身发展开辟了新的蓝海。这些领域往往将功能安全认证视为“门槛”甚至是“必需品”,其过程涉及繁琐的流程和严格的测试,以填补功能安全清单。尽管功能安全认证一直充满挑战,但引入行之有效的方法,能够显著加快这一进程。

 优化研发流程中,软件即代码的质量是现代电子信息系统的基石。那么,如何才能确保代码质量,从而为功能安全认证“铺平道路”呢?幸运的是,通过一些简单而有效的技术手段,开发者可以即时提升代码质量,并有效降低认证过程中的“痛苦指数”。

从标准中汲取智慧,规避模糊地带

 作为一家为全球近五万家企业/机构提供嵌入式开发工具的供应商,IAR Systems 的研发团队在评估C99标准时,发现其中存在约190种模棱两可的代码规范。这意味着,C99标准存在190种语法上合法,但在语言规范中含义未明确界定的C代码结构。随着C18标准的演进,以及C++标准中引入的多继承和虚拟继承等复杂概念,代码的模糊性可能会进一步加剧。

 编译器在将源代码转化为可执行代码时,必须对这些模糊的代码含义进行解释并选择一种执行方式。这在实践中意味着,不同的编译器可能对同一段源代码产生不同的解释。在高可靠性系统设计的语境下,尤其是在许多公司为加快功能安全认证而在多个平台上交叉编译代码以方便测试时,这种不确定性无异于一场“噩梦”。它极大地增加了认证所需的时间和测试工作量,因为必须围绕所有可能的情况进行反复验证,以证明代码的可重复性和可靠性。

破解之道:拥抱编码标准,提升代码鲁棒性

 打破这一僵局的关键在于,在代码编写阶段就主动规避模棱两可的情况。 MISRA等行业编码标准应运而生,它们旨在帮助开发者识别和规避代码中的常见陷阱,并倡导安全可靠的编码实践,从而显著减少代码漏洞。而如何确保遵循这些标准?功能安全标准本身就提供了一种解决方案:代码分析。

自动化代码分析:功能安全认证的加速器

 几乎所有的功能安全标准,都要求对代码进行静态分析,并强烈建议进行运行时(动态)分析。其中,最具影响力的标准当属 IEC 61508,它涵盖了与一般安全相关的系统。在该标准C.4.2章节明确指出,对于安全完整性等级(SIL)1以上的产品,不建议使用未消除模糊性和危险行为的C语言编码标准。

 换言之,如果产品目标是获得SIL 2-4等级的认证,那么静态分析就成为了强化代码稳健性的必要手段。静态分析工具能够强制开发者遵循如MISRA等编码标准,同时,静态分析和运行时分析也能显著提升代码质量,并能快速识别存在模糊性带来的潜在风险。

 然而,使用自动化工具也会对认证时间线产生巨大影响。很多组织使用的代码分析工具配置复杂、不易上手,并且通常集成在每日构建流程中。这导致个体开发者无法及时获得反馈,很难立即得知自己编写的代码存在何种问题。此外,这些工具发出的警告信息有时令人费解,开发者需要花费大量时间去理解其含义并思考如何修正代码,这无疑是效率的巨大损耗。

IAR Systems 助力,化解认证痛点

 安全性认证的本质在于找出项目的弱点,而非突出优点。因此,选用经过海量开发者群体验证的、或“见多识广”的开发工具系统至关重要。全球超过15万开发者在使用 IAR Embedded Workbench 等IAR Systems提供的开发工具来完成各类嵌入式项目。与许多资深开发者交流发现,如果在正式构建前就开始进行代码分析,漏洞就如同从未存在过。这样,项目的漏洞数量将显著降低,这正是认证机构所期望看到的,因为它直接证明了项目拥有一个高度成熟的开发组织。

 通过采用符合标准的编码实践,并借助智能化的代码分析工具,我们能够有效地应对功能安全认证的挑战,加速产品上市进程,为打造安全可靠的电子信息系统奠定坚实基础。


 
 
更多>同类新闻资讯
推荐图文
推荐新闻资讯
点击排行

新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服