ND32-5610 中国首份仿生机器人产业全景报告发布!大模型带来加速度,三大指标决定竞争格局
2023年8月16日MODHUB-16E 江苏最大制造型德企是如何炼成的?
2023年8月17日近年来,国内电子公司和芯片设计企业大举进攻汽车、医疗和工业等高可靠应用(mission-critical)领域,为自己找到了摆脱红海的新领域。但是高可靠应用多数都需要功能安全认证,在许多行业在诸如汽车、航空电子、医疗和工业控制等行业,是很常见甚至是必须的工作。这些认证通过必要的流程和测试来填写功能安全清单,一直以来都是一个非常困难的事情,但有一些方法可以加快您的认证。
虽然可以对研发过程进行大量的微调以加快您的认证,但一切现代电子信息系统都从软件即代码质量开始。但如何能够确保代码质量呢?幸运的是,使用一些简单的方法,可以几乎立即提升您的代码质量,并尽可能地减少痛苦。
从标准中获得帮助
作为一家产品被全球近五万家企业/机构采用的嵌入式开发工具提供商,IAR的研发工程师评估在C99中,代码规范中有大约190种模棱两可之处。也就是在C99中,有190种不同的合乎句法的C结构,在C语言规范中没有明确说明。实际上,进入C18,情况会变得有一点糟糕,在C++中,情况会更加糟糕,这里需要引入多继承和虚拟继承的概念。当然,编译器必须把您的源代码变成具体的代码,所以它必须对代码的含义选择一种解释,然后用它来运行。
这在实践中意味着,您可以得到不同的编译器,它们对源代码有不同的解释。在一个高可靠的系统中,这是一个如同噩梦般的场景;特别是由于许多公司为了追求尽快通过功能安全认证,为了方便测试在多个平台上交叉编译他们的代码。可以想象,这对您获得认证的时间会有多么非常糟糕的影响,因为您不得不围绕所有这些情况进行测试,以证明代码的可重复性和可靠性。
怎样才能破解这个难题呢?简短的答案是,避免模棱两可的情况出现在您的代码中。但如何做到这一点呢?使用像MISRA这样的编码标准可以快速解决这个难题,因为这些标准就是为了让您避免掉入代码中那些常见类型的陷阱。这些标准还倡导编码要安全可靠,以减少您代码中的漏洞数量。但是,怎样才能确保我们遵循这些标准呢?幸运的是,功能安全标准提供了一种方法。