查看: 640|回复: 0

[原创] 基于SAFERTOS系统的时间隔离实现

[复制链接]
  • TA的每日心情
    开心
    2023-6-12 14:34
  • 签到天数: 165 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2019-7-25 13:34:13 | 显示全部楼层 |阅读模式
    分享到:
    SAFECheckpoints基于SAFERTOS的功能安全系统中,除了空间隔离外,针对不同的安全标准,可能还需要时间隔离功能,确保软件的时间处理需求。
    在单核处理器中,可以使用软件组件来检测对系统时间需求的破坏。请注意,这并不能强制时间隔离,但可实现检测和恢复操作。

    基于优先级调度系统中的时间调度问题

    嵌入式实时系统中,很难实现真正的时间分离,因为根据嵌入式实时系统的定义,对事件的及时响应是至关重要的。
    在本例中,周期任务2的执行周期非常不稳定。为了响应触发低优先级任务1的事件,导致任务周期延迟,周期处理尚未完成,下一周期将开始。
    为了避免时间调度问题,可以使用SAFERTOS提供的软件定时器监视任务执行的频率(和抖动),以及中断响应时间。

    使用定时器来实现监视checkpoint非常简单有用;但存在一些缺点。软件定时器的意外行为可能影响整个监测机制的完整性;由于CPU执行更高优先级任务处理,导致监控未报告及如何识别溢出任务等。
    为了解决时间监控问题,并补充SAFERTOS的功能,WHIS提供了一个专门的检查模块SAFECheckpoints,实现时间检查。
    SAFECheckpoints机制在系统中以最高优先级的内核任务(timer实例)运行,确保定时器回调处理程序中的任何错误行为不会影响检查监视的操作,并且其他任务处理不能抢占或阻止检查任务的运行。
    专用checkpoint机制还在API中提供了额外的功能,提供了安全认证的内核代码:
    • 有限的checkpoint API最大限度地减少了安全监控系统中由于误操作造成的问题
    • 可以选择单次或周期性检查
    • 周期检查可以从绝对或相对检查点运行
    • 通过回调函数实现故障通知;可以指定系统错误处理程序或单个checkpoint回调函数
    • 同一个处理程序管理多个检查点,并识别对应的回调函数
    SAFECheckpoint模块为主机应用程序开发人员提供了必要的工具,以便对安全系统中的任务进行实时监视。更多技术干货可关注麦克泰软件。






    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 15:58 , Processed in 0.102908 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.