0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

确保嵌入式软件的功能安全

星星科技指导员 来源:嵌入式计算设计 作者:Franz Maidl 2022-06-19 16:05 次阅读

随着汽车向自动驾驶汽车发展,硬件和软件的功能安全是软件开发人员、工程师、经理和高管最关心的问题。没有不折不扣的安全性,就不会有自动驾驶汽车。

功能安全是系统或设备响应其输入的正确操作。当功能安全得到满足时,该系统已经消除了所有不可接受的风险,并且不会对乘员造成伤害威胁。不幸的是,由于嵌入式软件通常非常复杂,因此很难降低所有风险。

汽车行业的安全标准 ISO 26262 定义了开发软件以降低风险和生产更安全软件的方法。ISO 26262 中定义的功能安全是一种为车辆中的每个电气电子系统设定安全目标的方法。这些目标使用汽车安全完整性等级 ( ASIL ) 分类按严重程度分类。这些级别由风险级别确定,ASIL A 为最低严重性,ASIL D 为最高。例如,ASIL A 风险可能是 DVD 播放器故障(没有受伤的机会),而安全气囊意外展开是 ASIL D 风险。想象一下在高速公路上以 55 英里/小时的速度进行部署:很可能会造成严重伤害和失控。

ASIL 是在开发过程开始时确定的。ASIL 用于定义系统必须满足的安全目标。通过检查事故的可能严重程度、暴露时间量以及在这种情况下车辆的可控性来确定每个 ASIL。ASIL 迫使设计人员提出这样一个问题:“如果出现功能故障,操作员、相关道路使用者和周围环境会发生什么?”

该标准定义了开发软件以满足功能安全要求的方法。这些要求包括软件开发过程的管理、可追溯性、风险管理和质量保证。公司需要实施严格的过程控制。

那么,如何才能开发出具有这些严格要求的产品呢?

确保功能安全的工具

大多数软件错误和问题是由于需求不足和管理不善造成的。糟糕的需求会导致功能执行不正确或不可靠,从而导致功能安全失败。当一个功能执行不正确时,可能会导致对其他软件功能的干扰,违反了 ISO 26262 的“基本指令”,即不受干扰。

当软件造成干扰时,可以使用静态分析来查找错误。使用静态分析的主要优点之一是您可以在完成的模块准备好后立即开始分析。分析可以继续,直到整个产品代码集完成。

可以对源代码或目标代码执行静态分析。分析二进制文件有一些优点。例如,它不依赖于使用的编译器或汇编器。它还可以揭示编译器或汇编器在没有源代码的情况下引入的错误。

然而,缺乏关于编译器以及它如何优化代码的信息使得一些分析变得不可能。此外,您无法将错误追溯到源代码中的违规点,因此对于纠正错误几乎没有用处。

因此,当使用源代码时,分析质量会大大提高。使用源代码,您确实可以将故障追溯到它发生的点。当然,您必须拥有可用于运行静态分析的源代码。

静态分析揭示了 ASIL 功能在未经许可的情况下非法尝试访问受保护内存的干扰。您可以想象在自动驾驶车辆中破坏受保护的内存的后果 - 甚至在您当前的车辆中。如果您点击 DVD 播放按钮而不是更改巡航控制设置,可能会导致坏事!

静态分析确保不受干扰

静态分析不能代替硬件和软件验证,但对于防止应用程序中的干扰非常有价值。它可以在您的源代码中发现违反 ISO 26262 要求的错误。通过在开发代码时发现问题,验证通常可以更快地进行。具有 SIL 意识的静态分析涵盖了完整的代码库。您可以在编写完第一个软件元素后立即开始分析,然后继续分析,直到所有软件都集成到系统中。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 源代码
    +关注

    关注

    96

    文章

    2944

    浏览量

    66680
  • 编译器
    +关注

    关注

    1

    文章

    1618

    浏览量

    49060
  • 自动驾驶
    +关注

    关注

    783

    文章

    13699

    浏览量

    166177
收藏 人收藏

    评论

    相关推荐

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入
    的头像 发表于 10-16 10:14 553次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要
    的头像 发表于 09-30 10:05 384次阅读

    嵌入式软件开发与AI整合

    嵌入式软件开发与AI整合是当前技术发展的重要趋势之一。随着人工智能技术的快速发展,嵌入式系统越来越多地集成了AI算法,以实现更复杂的智能功能。以下是关于
    的头像 发表于 07-31 09:25 665次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发与AI整合

    Vector推出符合ISO 26262最高安全标准的ECU嵌入式软件

    还需要做到Fail-Operational,即要保证功能的高可用性。   Vector全新的高可用性嵌入式软件使得安全相关系统不仅能够检测故障,而且能够
    的头像 发表于 06-03 17:21 721次阅读

    嵌入式软件工程师和硬件工程师的区别?

    、调试和测试嵌入式软件,以确保功能正常,性能优良。 * 文档编写:包括编写用户手册、维护文档等。 * 维护和更新:对现有的嵌入式
    发表于 05-16 11:00

    FSG正式成立,Parasoft推动嵌入式功能安全FuSa再升级

    为应对近年来产业对于嵌入式功能安全(FuSa)方案的广大需求,日前由Parasoft等在内的业界领导厂商共同宣布正式成立了FSG(功能安全
    的头像 发表于 04-24 15:21 296次阅读

    定制嵌入式主板,需要考虑的功能有哪些?

    随着科技的不断发展和进步,嵌入式系统在各行各业中得到了广泛的应用。嵌入式主板作为嵌入式系统的核心组件,起着至关重要的作用。在定制嵌入式主板时,需要考虑的
    的头像 发表于 02-29 17:38 497次阅读
    定制<b class='flag-5'>嵌入式</b>主板,需要考虑的<b class='flag-5'>功能</b>有哪些?

    嵌入式软件设计的原则分享

    嵌入式软件开发如果具有更好的阅读性、扩展性以及维护性,就需要考虑很多因素。今天给大家分享几个嵌入式软件设计的原则。
    发表于 02-25 10:54 661次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>设计的原则分享

    如何使用 DSC 和 MCU 确保嵌入式系统安全

    作者:Stephen Evanczuk 投稿人:DigiKey 北美编辑 随着向物联网 (IoT) 的迁移,安全性已不再是嵌入式应用中的选配功能,已发展成为确保系统完整性所需的必备能力
    的头像 发表于 02-13 14:38 674次阅读
    如何使用 DSC 和 MCU <b class='flag-5'>确保</b><b class='flag-5'>嵌入式</b>系统<b class='flag-5'>安全</b>

    高端嵌入式实验平台

    一、整体概述 该嵌入式平台具有前沿性、专业性、高集成度、功能丰富等特点,平台涵盖嵌入式计算机技术、嵌入式硬件接口、嵌入式系统
    的头像 发表于 01-29 09:55 490次阅读
    高端<b class='flag-5'>嵌入式</b>实验平台

    嵌入式软件开发和软件开发的区别

    嵌入式软件开发和软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入
    的头像 发表于 01-22 15:27 2203次阅读

    基于功能安全的汽车嵌入式软件单元验证技术研究

    随着汽车嵌入式软件功能的不断叠加,软件复杂性不断提升,对汽车嵌入式软件
    的头像 发表于 01-07 11:27 1015次阅读
    基于<b class='flag-5'>功能</b><b class='flag-5'>安全</b>的汽车<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>单元验证技术研究

    聊聊嵌入式软件分层

    今天以控制LED闪烁为例,聊聊嵌入式软件分层
    的头像 发表于 12-28 09:22 638次阅读

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧!
    发表于 12-05 15:17