OSEK应用模式

news2025/1/19 3:40:43

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.coloradmin.cn/o/1674364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

发布一个属于自己的 npm工具包

我们可以发布一个属于自己的工具包到 npm 服务上,方便自己和其他开发者使用,参与社区贡献,操作步骤如下: 创建与发布 npm 初始化工具包,package.json 填写包的信息 (包的名字是唯一的)注册账号 https://www.npmjs.co…

嵌入式C语言与人工智能:从基础到高级应用

文章主题 本教程将介绍如何在嵌入式系统中使用C语言实现人工智能应用,特别是如何在资源受限的嵌入式设备上进行神经网络推理。 本文将详细介绍环境准备、基础知识、代码示例及其应用场景,并提供常见问题的解决方案与优化方法。 2. 环境准备 硬件 开…

PuLID: 图像背景、光线、风格等均保持高度一致图像生成工具,附本地一键包

PuLID是一种无需调优的ID定制方法。PuLID保持了高的ID保真度,同时有效地减少了对原始模型行为的干扰。 只需要提供一张照片,就可以生成高还原度的各种风格的图像。 使用方法:解压一键包,双击一键启动 点击ID图像(主…

ubuntu20.04 ROS 环境下使用速腾80线激光雷达(还未补充图片)

1.相关系统环境 系统版本:ubuntu 20.04 ROS版本:ROS1 - noetic 激光雷达型号:RoboSense Ruby (更新于2024.5.14) 2.网口配置: 将PC/工控机的网口配置为: ipv4,方式设置为手动 ip地址、掩码以…

灵卡 LCC262 高性能多功能数字视频和音频一体式采集卡详尽解读

一、前言 作为计算机视觉技术解决方案提供商——灵卡(LingCard)公司推出的新一代超群性能采集卡—— LCC262,以其卓越的性能表现和丰富多样的功能特性,为广大用户带来了前所未有的视频和音频处理体验。本文旨在对该产品进行详细解…

把3D模型加载到网页上需要什么技术?

要将3D模型加载到网页上并实现交互展示需求(比如点击模型弹出一个窗口或控制模型的材质等),可以使用以下几种技术: 1、Three.js:这是一个非常流行的JavaScript库,用于在网页上渲染和显示3D图形。它支持多种…

图解HTTP(4、返回结果的 HTTP 状态码)

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。 状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常…

【C 数据结构-动态内存管理】3. 伙伴系统管理动态内存

文章目录 【 1. 伙伴系统的结构设计 】【 2. 分配算法 】【 3. 回收算法 】 伙伴系统 本身是一种动态管理内存的方法,和边界标识法的区别是:使用伙伴系统管理的存储空间,无论是空闲块还是占用块,大小都是 2 的 n 次幂(…

干电池升压芯片PW5100:高效转换,赋能小型设备

内容简述目录: 1,干电池的工作电压范围 2,平芯微根据干电池规格书整理的干电池输出电流性能表 3,干电池负载能力的理解和解释 4,专用干电池升压芯片 PW5100 5,干电池升压芯片采用 0603,0805,1206 电感和输出…

多模态大语言模型的演化:综述

24年2月意大利三所研究大学和机构的论文“The Evolution of Multimodal Large Language Models: A Survey”。 连接文本和视觉模态在生成智能中起着至关重要的作用。由于这个原因,在大语言模型成功的启发下,大量的研究工作被投入到多模态大语言模型&…

Python框架篇(9):FastApi-SQLAlchemy集成

1. 介绍 ORM框架将数据库中的表(表结构)映射为面向对象的类(对象),将表中的记录(行)映射为类的实例(对象的实例),将表中的字段(列)映…

Oracle21c数据库普通用户创建及授权,建表,创建存储过程、序列、触发器

一、Oracle数据库错误 ORA-65096 表示你尝试在多租户容器数据库(CDB)环境中创建一个公共用户(common user)或角色,但没有使用正确的前缀。在多租户架构中,公共用户的用户名必须以 C## 或 c## 开头。 若想…

Linux|基础IO

回顾c语言的文件操作 #include<stdio.h> int main() { FILE * fp fopen("test.txt","w"); if(fp NULL) return -1;fwrite(message,strlen(message),1,fp); fclose(fp); return 0; } 我们我们以写的方式打开 不存在则创建…

Kubernetes——CNI网络组件

目录 一、Kubernetes三种接口 二、Kubernetes三种网络 三、VLAN与VXLAN 1.VLAN 2.VXLAN 3.区别 3.1作用不同 3.2vxlan支持更多的二层网络 3.3已有的网络路径利用效率更高 3.4防止物理交换机Mac表耗尽 3.5相对VLAN技术&#xff0c;VXLAN技术具有以下优势 四、CNI网…

爱普生M-A352加速度计受到日本气象厅认证

地震一直是缠在人们头顶的乌云&#xff0c;如何能在地震发生的时候提前获悉&#xff0c;防止造成更大的经济损失&#xff0c;成为了许多企业准备解决的问题。精工爱普生公司获悉&#xff0c;东京Knowledge ForesightInc.生产的配备爱普生M-A352 高性能三轴加速度计的“Yure Mon…

灌区信息化管理平台系统包含哪些内容?(全面介绍)

政策背景 2022年12月29日&#xff0c;水利部启动48处大中型灌区开展数字孪生灌区先行先试建设。 2023年2月24日&#xff0c;《2023年农村水利水电工作要点》:2023年农村水利水电工作的总体思路包括:紧盯保障国家粮食安全&#xff0c;加快推进大中型灌区现代化改造&#xff0c;…

传说中的运维门户设计

在IT服务管理这片广阔天地中&#xff0c;运维门户如同一位技艺高超的魔术师&#xff0c;轻轻一挥手&#xff0c;便将纷繁复杂的运维世界化繁为简&#xff0c;编织成一张便捷高效、触手可及的网络。它不仅是ITSM系统中不可或缺的一环&#xff0c;更是连接用户与技术世界的桥梁&a…

mars3d实现gltf模型new mars3d.graphic.ModelPrimitive({的自定义shader

原模型展示&#xff1a; 自定义shader效果展示&#xff1a; 运动状态下&#xff1a; 关键代码&#xff1a; const pointCloudWaveShader new Cesium.CustomShader({uniforms: {u_time: {type: Cesium.UniformType.FLOAT,value: 0}},vertexShaderText: void vertexMain(Vertex…

【全开源】房屋出租出售预约系统支持微信小程序+H5+APP

一款基于FastAdminThinkPHPUniapp开发的房屋出租出售预约系统&#xff0c;支持小程序、H5、APP&#xff1b;包含房客、房东(高级授权)、经纪人(高级授权)三种身份。核心功能有&#xff1a;新盘销售、房屋租赁、地图找房、小区找房&#xff0c;地铁找房等方式。 特色功能&#…

XML解析 之 DomFourJ解析

1&#xff0c;DomFourJ干嘛的&#xff1f; 百度一搜一大堆而且说的很繁琐&#xff0c;在这总结一句话&#xff1a; dom4j就是一个Java用来读写XML文件的API&#xff0c;而且简单又方便还好用 2&#xff0c;什么时候用&#xff1f; 不管读取什么XML文档只要你想用就用没啥限制…