社区导航

 

搜索
查看: 132|回复: 0

[经验] 基于SAFERTOS系统的时间隔离实现

[复制链接]

36

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-7-11 13:36 | 显示全部楼层 |阅读模式

SAFECheckpoints

基于SAFERTOS的功能安全系统中,除了空间隔离外,针对不同的安全标准,可能还需要时间隔离功能,确保软件的时间处理需求。

在单核处理器中,可以使用软件组件来检测对系统时间需求的破坏。请注意,这并不能强制时间隔离,但可实现检测和恢复操作。

 

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

 

在嵌入式实时系统中,很难实现真正的时间分离,因为根据嵌入式实时系统的定义,对事件的及时响应是至关重要的。

1.jpg

在本例中,周期任务2的执行周期非常不稳定。为了响应触发低优先级任务1的事件,导致任务周期延迟,周期处理尚未完成,下一周期将开始。

为了避免时间调度问题,可以使用SAFERTOS提供的软件定时器监视任务执行的频率(和抖动),以及中断响应时间。

2.jpg

3.jpg

使用定时器来实现监视checkpoint非常简单有用;但存在一些缺点。软件定时器的意外行为可能影响整个监测机制的完整性;由于CPU执行更高优先级任务处理,导致监控未报告及如何识别溢出任务等。

为了解决时间监控问题,并补充SAFERTOS的功能,WHIS提供了一个专门的检查模块SAFECheckpoints,实现时间检查。

SAFECheckpoints机制在系统中以最高优先级的内核任务(Timer实例)运行,确保定时器回调处理程序中的任何错误行为不会影响检查监视的操作,并且其他任务处理不能抢占或阻止检查任务的运行。

专用checkpoint机制还在API中提供了额外的功能,提供了安全认证的内核代码:

  • 有限的checkpoint API最大限度地减少了安全监控系统中由于误操作造成的问题

  • 可以选择单次或周期性检查

  • 周期检查可以从绝对或相对检查点运行

  • 通过回调函数实现故障通知;可以指定系统错误处理程序或单个checkpoint回调函数

  • 同一个处理程序管理多个检查点,并识别对应的回调函数

SAFECheckpoint模块为主机应用程序开发人员提供了必要的工具,以便对安全系统中的任务进行实时监视。

更多技术干货可查看往期“麦克泰技术”公众号推文!



此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

来源:EEWorld 嵌入式系统编程板块,转载请附上链接

提供专业嵌入式系统培训,为嵌入式研发提供丰富的工具,软件和解决方案。



回复

使用道具 举报

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

关闭

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

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-9-16 20:25 , Processed in 0.082476 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表