当前位置: 首页 > news >正文

【笔记篇】Davinci Configurator OS模块(上)

目录

  • 1 简介
    • 1.1 架构概览
  • 2 功能描述
    • 2.1 特性
    • 2.2 规范偏离
      • 2.2.1 API 函数的泛型偏离
      • 2.2.2 可信函数 API 偏离
      • 2.2.3 服务保护偏离
      • 2.2.4 代码保护
      • 2.2.5 SyncScheduleTable API 偏差
      • 2.2.6 CheckTask/ISRMemoryAccess API 偏差
      • 2.2.7 中断 API 偏差
      • 2.2.8 Cross Core Getter API
      • 2.2.9 IOC
      • 2.2.10 栈冲突时返回值
      • 2.2.11 OS内部错误的处理
      • 2.2.12 强制终止应用程序
      • 2.2.13 OS配置
      • 2.2.14 自旋锁
    • 2.3 栈
      • 2.3.1 Task栈共享
        • 2.3.1.1 描述
        • 2.3.1.2 启动
        • 2.3.1.3 使用
      • 2.3.2 ISR栈共享
        • 2.3.2.1 描述
        • 2.3.2.2 启动
        • 2.3.2.3 使用
      • 2.3.3 栈检查策略
      • 2.3.4 软件栈检查
        • 2.3.4.1 描述
        • 2.3.4.2 启动
        • 2.3.4.3 使用
      • 2.3.5 MPU栈监控
        • 2.3.5.1 描述
        • 2.3.5.2 启动
        • 2.3.5.3 使用
      • 2.3.6 栈消耗测量
        • 2.3.6.1 描述
        • 2.3.6.2 启动
        • 2.3.6.3 使用
    • 2.4 中断
      • 2.4.1 中断处理API
      • 2.4.2 中断等级
      • 2.4.3 中断向量表
      • 2.4.4 二类中断嵌套
        • 2.4.4.1 描述
        • 2.4.4.2 启动
      • 2.4.5 一类中断
        • 2.4.5.1 一类中断的实现
        • 2.4.5.2 一类中断嵌套
        • 2.4.5.3 StartOS前的一类中断
      • 2.4.6 中断源初始化
      • 2.4.7 未处理的中断
      • 2.4.8 未处理的系统调用
    • 2.5 异常
      • 2.5.1 异常向量表
      • 2.5.2 未处理的异常
    • 2.6 定时器
      • 2.6.1 描述
      • 2.6.2 启动
      • 2.6.3 使用
      • 2.6.4 依赖
    • 2.7 周期中断定时器(PIT)
      • 2.7.1 描述
      • 2.7.2 启动
    • 2.8 高分辨率定时器(HRT)
      • 2.8.1 描述
      • 2.8.2 启动
    • 2.9 PIT HRT对比
    • 2.10 启动
    • 2.11 单核启动
      • 2.11.1 单核系统
      • 2.11.2 多核系统
        • 2.11.2.1 SC1 / SC2 系统示例
        • 2.11.2.2 SC3 / SC4 系统的多核示例
    • 2.12 多核启动
      • 2.12.1 SC1 / SC2 系统中的多核启动示例
      • 2.12.2 SC3 / SC4 系统中的多核启动示例
    • 2.13 故障处理
    • 2.14 错误报告
      • 2.14.1 服务 ID 的扩展
      • 2.14.2 MICROSAR OS 错误代码的扩展
      • 2.14.3 详细错误代码
    • 2.15 多核
      • 2.15.1 调度和分派
      • 2.15.2 多核数据概念
      • 2.15.3 X-Signal
      • 2.15.4 主/从核心
      • 2.15.5 硬件初始化核心
      • 2.15.6 多核系统的启动
      • 2.15.7 自旋锁
        • 2.15.7.1 自旋锁的链接
      • 2.15.8 缓存
      • 2.15.9 关闭
        • 2.15.9.1 单个核心的关闭
        • 2.15.9.2 所有核心的关闭
        • 2.15.9.3 保护违规期间的关闭
    • 2.16 调试
      • 2.16.1 描述
      • 2.16.2 启动
      • 2.16.3 ORTI调试
        • 2.16.3.1 ORTI(OSEK Runtime Interface)
    • 2.17 内存保护
      • 2.17.1 MPU的使用
      • 2.17.2 配置方面
        • 2.17.2.1 静态MPU区域
        • 2.17.2.2 动态MPU区域
        • 2.17.2.3 无干扰性
      • 2.17.3 堆栈监控
      • 2.17.4 保护违规处理
      • 2.17.5 优化/快速的MPU处理
      • 2.17.6 推荐配置
    • 2.18 内存访问检查
      • 2.18.1 描述
      • 2.18.2 启动
      • 2.18.3 使用
      • 2.18.4 依赖关系
    • 2.19 时间保护
      • 2.19.1 描述
      • 2.19.2 启动
      • 2.19.3 使用
    • 2.20 IOC
      • 2.20.1 描述
      • 2.20.2 非排队通信(最新即最好)
        • 2.20.2.1 1:1 通信模式
        • 2.20.2.2 N:1 通信模式
        • 2.20.2.3 N:M 通信模式
      • 2.20.3 排队通信
      • 2.20.4 通知
      • 2.20.5 特点
        • 2.20.5.1 N:1 排队通信
        • 2.20.5.2 IOC 自旋锁
        • 2.20.5.3 通知
        • 2.20.5.4 复杂数据类型
    • 2.21 受信任OS Applications
      • 2.21.1 启用内存保护的受信任OS应用
        • 2.21.1.1 描述
        • 2.21.1.2 启用步骤
        • 2.21.1.3 依赖关系
      • 2.21.2 用户模式下的受信任OS应用
        • 2.21.2.1 描述
        • 2.21.2.2 启用步骤
        • 2.21.2.3 依赖关系
      • 2.21.3 受信任函数
    • 2.22 OS Hooks
        • 2.22.1 运行时上下文
        • 2.22.2 嵌套行为

1 简介

本文主要描述了AUTOSAR OS在Davinci Configurator配置中的一些应用,严格意义上来说,这里应该叫MICROSAR OS,因为Vector对AUTOSAR OS进行了一些自己的优化。说到这里,不得不赞叹Vector对行业的积累和对ECU开发的理解,这也更印证了我们以Davinci Configurator开始学习AUTOSAR的初衷——让大家更好的理解和上手AUTOSAR。

简单来讲,AUTOSAR OS主要用途是给基础软件模块和应用层SWC提供一个调度环境,用来管理中断、任务、异常的处理。在实际应用过程中,我们更关心的是对Task/ISR堆栈大小的配置、为Task/ISR分配优先级、根据不同runnable的周期分配Task、根据功能安全等级要求使用OS Application进行分区、配置调度表和中断映射等等。

阅读本文需要对OSEK OS和AUTOSAR OS的基础知识有一定的了解,这里博主已经在补充篇里的:

  1. 【补充篇】AUTOSAR多核OS介绍(上)
  2. 【补充篇】AUTOSAR多核OS介绍(

相关文章:

【笔记篇】Davinci Configurator OS模块(上)

目录 1 简介1.1 架构概览2 功能描述2.1 特性2.2 规范偏离2.2.1 API 函数的泛型偏离2.2.2 可信函数 API 偏离2.2.3 服务保护偏离2.2.4 代码保护2.2.5 SyncScheduleTable API 偏差2.2.6 CheckTask/ISRMemoryAccess API 偏差2.2.7 中断 API 偏差2.2.8 Cross Core Getter API2.2.9 …...

19.3 打镜像部署到k8s中,prometheus配置采集并在grafana看图

本节重点介绍 : 打镜像,导出镜像,传输到各个节点并导入运行该项目配置prometheus和grafana 打镜像 本地build docker build -t ink8s-pod-metrics:v1 .build过程 导出镜像 docker save ink8s-pod-metrics > ink8s-pod-metrics.tar 传输到各个node…...

如何让系统u盘重新可用

目录 引言开始操作遇到的错误 引言 我们将 u 盘制作为系统 U 盘后,U 盘就没法在电脑中正常识别出了。当装完系统,不再需要 u 盘充当系统 U 盘想要正常使用该 U 盘,这时候就需要有些操作,让这个 U 盘正常化。 上图就是充当系统盘的…...

14.安卓逆向-frida基础-编写hook脚本2

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…...

车辆零部件检测和分割数据集-车体数据集-yolo格式-yolov5-yolov10可用

这些标签是用于实例分割任务中的类别,通常在汽车图像识别或自动驾驶技术中使用。以下是这些类别: back_bumper - 后保险杠back_glass - 后挡风玻璃back_left_door - 后左车门back_left_light - 后左灯back_right_door - 后右车门back_right_light - 后右…...

甄选范文“论分布式存储系统架构设计”,软考高级论文,系统架构设计师论文

论文真题 分布式存储系统(Distributed Storage System)通常将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储系统采用可扩展的…...

第十四章:html和css做一个心在跳动,为你而动的表白动画

💖 让心跳加速,传递爱意 💖 在这个特别的时刻,让爱在跳动中绽放!🌟 无论是初次相遇的心动,还是陪伴多年的默契,我们的心总在为彼此跳动。就像这颗炙热的爱心,随着每一次的跳动,传递着满满的温暖与期待。 在这个浪漫的季节,让我们一同感受爱的律动!无论你是在…...

poetry安装

文章目录 前言1. 为什么pip install poetry 会造成依赖冲突1.1 全局环境依赖混淆:1.2 工具和项目之间的冲突:1.3 缺乏依赖隔离:1.4 多出很多额外依赖: 2. 不推荐pipx安装3. poetry高级安装3.1 默认安装路径3.2自定义安装 4. 安装p…...

Proteus如何添加数码管

1、打开安装好的Proteus,点击上方菜单栏中的“库”,再选择“从库选取零件”,或者在左侧元件列表中单击鼠标右键,再点击右键菜单中的“从库中挑选”选项。 2、之后在元器件库中,点击类别中的“Optoelectronics”&#…...

5 apache poi实现excel的动态下拉框功能

excel下拉框 RequestMapping("xiala")public void xiala(HttpServletResponse response){String fileName "僵尸表";try{response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharact…...

深度对比:etcd、Consul、Zookeeper 和 Nacos 作为注册中心和配置中心的优势与劣势

在现代分布式系统和微服务架构中,服务注册中心 和 配置中心 是系统稳定运行的关键组成部分。服务注册中心负责服务的动态注册与发现,而配置中心用于集中管理配置,确保系统在变化的环境中保持一致性。本文将对比 etcd、Consul、Zookeeper 和 N…...

Android webview拦截H5的接口请求并返回处理好的数据

Android webview拦截H5的接口请求并返回处理好的数据 Android 可以通过 WebView 的 shouldInterceptRequest 方法拦截到 H5 中的网络请求。这是一个 WebViewClient 中的回调方法,允许开发者在 WebView 发起网络请求时对其进行处理和修改。 具体使用方法如下&#…...

vue echarts tooltip使用动态模板

先上代码 tooltip: {// 这里是车辆iconshow: true,// trigger: "item",// backgroundColor: "transparent",appendToBody: true,textStyle: {color: "#ffffff" //设置文字颜色},formatter: (params) > {return formatHtml(params.data)},}, …...

網路本地連接沒有有效的IP配置:原因與解決方法

網路本地連接顯示“沒有有效的IP配置”。這通常意味著你的電腦無法從路由器或其他網路設備獲取有效的IP地址,從而導致無法上網。本文將從原因和解決方法兩個方面,詳細解析這個問題。 一、問題的原因 路由器或數據機問題: 路由器或數據機出…...

如何使用ssm实现基于web的学生就业管理系统的设计与实现+vue

TOC ssm726基于web的学生就业管理系统的设计与实现vue 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上…...

TCP三次握手四次挥手详解

TCP三次握手建立连接的过程: 一次握手:客户端发送带有 SYN(seqx)标志的数据包到服务端,然后客户端进入 SYN_SEND 状态,等待服务端的确认。二次握手:服务端收到 SYN 包后,发送带有 S…...

了解 如何使用同快充充电器给不同设备快速充电

在这科技发展迅速的时代,快充技术已经走进了我们生活,不得不说有了快充技术的对比,传统的充电模式已经满足不了人们对充电速度的要求。就比如用华为输出100 W快充充电器为手机充电大概需要23分钟充满100%电量,而传统的充电器则需要…...

AGI interior designer丨OPENAIGC开发者大赛高校组AI创作力奖

在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给…...

Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!

🧸本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻 📜后续会退出ububtu安装docker教程,敬请期待 📜作者首页&…...

QT day01

自定义实现登录界面&#xff1a; #include "widget.h" #include "ui_widget.h" #include<QPushButton> #include<QLineEdit> #include<QLabel>Widget::Widget(QWidget *parent) //定义有参构造函数: QWidget(parent), ui(new Ui::Widge…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...