OSEK应用模式

1 前言

        应用模式(Application modes)用于区分不同的场景,以便在系统运行时,组织各自相互独立的OS相关的资源集合,是一种分而治之的思想体现。不同的应用模式是互斥的,即系统当前必须在一种应用模式(且只能在一种应用模式下)运行。

        举个例子来说,end-of-line(EOL)的刷写模式和系统正常工作模式,必然是两个相互独立的应用模式,其需求设计也是面向完全不同的场景。

2 应用模式概述

        很多ECU都会执行完全独立的应用(applications),包括工厂测试(factory test),固件刷写(flash programming)或正常工作操作(normal operation)。显然,可以将应用模式看成满足特定场景的软件模式,以其对应的应用实现来组织代码,使得各场景应用之间的开发解耦。

        通常来说,不同应用模式都会使用自己的一套系统资源,包括taskISRsalarms及定时器。当然,如果应用模式之间存在功能上的交集,共享这些系统资源也是允许的。反之,要么给每个应用模式配置独立的系统资源(例如task),不同的应用模式运行不同的task;亦或者,需要在任务运行时做条件判断,以运行不同应用模式下的代码分支,这其中有一个运行速度(runtime)和资源开销之间的折衷考虑。

        通过应用模式将不同的场景需求及其软件设计分割开来,有利于降低软件的复杂度,OS相关的资源管理与规划也会相对简单。

3 启机性能(start up performance)

        在系统运行中,通常存在系统复位的需求。因此,启机性能对于车载软件系统来说尤为重要。所以,用于确定应用模式的逻辑必须简单高效,尽量减少时间开销。如图1所示,系统启动时,用户层代码通过系统服务来确定当前的应用模式,并将之作为参数传递给系统接口StartOS(通常建议通过pin脚状态或相似的条件判断来快速确定应用模式)。

图1 系统启动(system start up)示意图 

        简单来说,必须在OS内核启动前确定当前的应用模式(显然,此时系统服务还无法使用);同时,不同的应用模式通过静态配置,对应着不同的系统资源,并由StartOS来调用以完成对应的系统初始化。

4 应用模式相关支持

        应用模式在一致类(conformance classes)这一维度并没有做区分,反而一视同仁,做了统一要求。应用模式的定义对于关机功能(shutdown functionality)来说没有影响。

        此外,不支持在运行时(runtime)进行应用模式间的切换,即必须通过复位来实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/701327.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 论文阅读

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 论文阅读 Abstract1 Introduction2 Related Work3 Proposed Approach4 Experiments5 Conclusion 文章信息: 原文链接:https://ojs.aaai.org/index.php/AAAI/article/view/4…

【软考】设计模式之桥接模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.将抽象部分与其实现部分分离,使它们都可以独立地变化。2.桥接模式(Bridge Pattern)属于对象结构型模式,又称为柄体(Handle an…

SpringBoot实现 QQ邮箱验证码

SpringBoot实现 QQ邮箱验证码 文章目录 SpringBoot实现 QQ邮箱验证码一、开通SMTP校验码1.登录qq邮箱2.开启SMTP服务3.发送手机短信4.得到授权码 二、回到spring项目中1.导入所需依赖2.验证码工具类3.具体实现逻辑(serviceimpl) 三、测试qq邮箱验证码 一、开通SMTP校验码 1.登…

zookeeper集群部署以及zookeeper原理

文章目录 简介工作原理特性官网地址准备节点准备环境准备JAVA主机映射 部署 简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服…

Codeforces Round 944 (Div. 4)(A,B,C,D,E,F,G,H)

比赛链接 这场不难, G G G 和 H H H 比较有意思。 G G G 题需要一定的二进制和数据结构的知识, H H H 题是个 2 − s a t 2-sat 2−sat 的题,算法名字吓人但是其实很简单,题目本身也很板,建议趁机学习一波。 A. My …

棒材直线度测量仪 专为圆形产品研发设计 在线无损检测

棒材直线度测量仪采用了先进的技术,能够实现在线无损检测,为生产过程提供了极大的便利。专为圆形产品设计,它能够精确测量棒材的米直线度及外径、椭圆度尺寸,为质量控制提供可靠的数据支持。 在线直线度测量仪不仅具有出色的性能…

Stm32串口搭配DMA实现自定义printf、scanf

前言:本文仅供学习参考使用,主要目的是让大家快速使用串口调试,文章所提及的GCC适用于Clion,Vscode等第三方编辑器的用户。作者有时间会继续更新^_^ 一、GCC环境 1、标准库 (1)、使用方法 在主函数while(1)初始化中,添加Seria…

嵌入式学习-M4的基本定时器

基本介绍 框图分析 时钟选择 计数器结构 开启重装载值寄存器的影子寄存器的工作时序图 未开启重装载值寄存器的影子寄存器的工作时序图 更新事件以及中断 相关寄存器 相关库函数

全球排名第一的质量管理(QMS)系统介绍,100%免费开源

什么是Odoo全程质量管理? 开源智造Odoo免费开源质量管理系统将政策、标准和实践规范化并自动化,以最小的开销提供最高质量的产品。快速轻松地选择要执行的测试,设置参数以评估结果,并定义接收时和生产过程中的测试策略。Odoo会自动…

OpenNJet产品体验:探索无限可能

文章目录 前言一、OpenNJet是什么?二、OpenNJet特性和优点三、OpenNJet功能规划四、OpenNJet快速上手五、OpenNJet的使用总结 前言 现代社会网络高速发展,同时也迎来了互联网发展的高峰,OpenNJet作为一个基于NGINX的面向互联网和云原生应用提…

网络安全等级保护测评指标解读(2.0)

网络安全等级保护2.0测评指标解读: 1、物理和环境安全 2、网络和通信安全 3、设备和计算安全 4、应用和数据安全 5、安全策略和管理制度 6、安全管理机构和人员 7、安全建设管理 8、安全运维管理 软件资料清单列表部分文档: 工作安排任务书,…

HCIA和HCIP区别大吗?小白请看这

华为认证以其专业性和实用性受到了业界的广泛认可。 HCIA、HCIP、HCIP这三个级别,你会选哪个?IE含金量不用多说,IA还是IP,你会纠结吗。 但面对这两个级别的认证,初学者或者“小白”们可能会感到困惑:两者…