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

车载基础软件——AUTOSAR AP典型应用案例

我是穿拖鞋的汉子,魔都中一位坚持长期主义的工程师!

最近不知道为何特别喜欢苏轼的一首词:

缺月挂疏桐,漏断人初静。谁见幽人独往来,缥缈孤鸿影。
惊起却回头,有恨无人省。拣尽寒枝不肯栖,寂寞沙洲冷。

冷艳高绝,独自一身,边缘冷眼看待身边一切!

在这里插入图片描述

Return to today’s topic!

本文继续讲述关于UTOSAR AP典型应用案例的内容。大体分为如下两部分内容:

-> 基于AP的基础软件产品和解析

-> 基于 AP 的应用场景介绍

一、基于AP的基础软件产品和解析

1、日志与调试

日志作为行为或状态详细描述的载体,提供可用于分析系统的活动和诊断问题的跟踪记录。在安全事件分析、事件回溯和取证过程中起着相当重要的作用。这部分有点像飞机的黑匣子功能!

在APAUTOSAR 中,Log and Trace 模块负责管理和记录AP平台的日志,既可以应用于开发过程,也可以适用于量产过程。在架构上,Log and Trace模块会与AP的时间同步及通信管理等模块交互。基于AP AUTOSAR 标准定义的LT协议,Log and Trace模块可以让AP应用程序将信息记录到通信总线、控制台或文件系统上。同时 DLT 协议也提供了包括日志等级、日志ID等字段内容,日志客户端可以使用。

此信息来关联、排序或过滤接收到的日志帧,便于日志的解析查看以及日志相关功能的扩展。

以前自己在做AUTOSAR Solution方案测试时,也会在软件运行过程产生的数据进行Log并测试出现问题时第一时间是查看录制数据,并分析原因!

平台典型的日志系统架构图如图

-> App通过使用DLT接口将相应的操作步骤、状态监控、故障信息等内容发送至Daemon(上图内容);

-> Daemon表示DLT监控进程,它接收并处理来自AP应用程序的日志信息,并根据配置对日志进行终端显示、文件存储、网络传输等操作;

-> Dlt-Viewer表示通过网络传输接收Daemon日志信息的客户端,对日志信息进行UI(人机交互界面)展示,方便用户进行日志的查看和分析。

2、日志记录分析

上文介绍了从日志产生到日志数据流转的整个过程,基于已有的日志信息,Dlt-Viewer可以提取出我们所关注的数据,如图所示。

Dlt-Viewer 提供相当多DLT日志处理功能,除了日志显示、日志导入/导出等功能外,还提供了强大的日志过滤、标记等功能。过滤器可以是某一字段,甚至是正则表达式。它提供了插件的开发接口,极大地提升了功能扩展的能力。

3、系统启动监控

通过解析各功能模块产生的 DLT 日志,可以分析出整个系统上电启动过程,用户可以直观地观测各功能模块的启动过程,并根据观测结果调整各功能的启动策略,达到功能模块稳定、快速启动的目的。

二、基于AP的应用场景介绍

本节主要介绍基于 AP 的智能域控制器(后续简称 IDC)OTA升级场景及其实现方案。IDC 的 OTA功能可以进行自身应用软件及系统软件、关联器件固件的升级,并在数据管理、软件升级、可追溯性、安全验证方面满足 AP 的相关要求。

这个其中与传统的Bootloader(UDS刷写方案)配合策略值得在规范中明确定义。

在OTA的功能实现过程中,IDC与外界的数据交互如图所示。云端OTA云服务器向车端HUT(终端信息展现单元 Head Unit & Telematics)推送升级任务,用户确认升级后,HUT会通过网关向IDC及其他ECU以UDS的形式发送升级指令及升级数据,IDC接收升级指令与数据后,在确保安全的情况下完成软件升级并向 HUT 反馈安装进度及安装结果。

1、数据传输与管理

-> IDC内部分为 OTA 进程和 UDS Server进程,UDS Server进程与HUT端交互,负责处理、转发指令和接收软件包,OTA 进程处理软件包进行升级;

-> OTA使用专用的磁盘分区保证有足够的资源来存储软件包及相关数据,从而保证数据的安全性;

-> IDC会进行完整性校验以保证软件包的完整性;

-> OTA结束后,IDC会删除临时数据,最大限度节省空间。

在这里插入图片描述

2、软件升级

-> OTA 采用双分区机制,通过活跃分区去升级备份分区,升级成功后重启备份分区,完成备份分区和活跃分区的互相切换,轻松实现 IDC 上的应用软件、中间件、操作系统、配置数据的安装、更新、删除;

-> OTA 采用双分区机制,通过切换启动分区,可以实现 IDC 上所有软件及数据的快速回滚功能;

-> OTA 支持周边器件的升级,如 MCU、Snapshot等;

-> OTA 内部维护状态机,状态变化实时落盘,可以支持在异常中断后恢复升级。

3、可追溯性

-> OTA提供获取当前软件版本号、安装进度、安装结果的接口;

-> OTA会记录升级过程中的日志,供HUT获取。

4、安全性

-> OTA 在软件升级前会使用强加密算法校验证书链与软件包签名,保证软件包的真实性及完整性。

-> OTA 在软件升级前会检查当前车速、IDC 的温度、供电情况,保证在安全的情况下进行 IDC 软件升级。

-> OTA 时会激活 IDC 心跳监控机制及分区损坏回滚机制,当切换到备份分区启动失败后,IDC不会给MCU发送心跳报文,MCU会认为IDC在OTA后变砖,会给IDC断电重启,切回原分区启动,保证车机可用(车载娱乐系统)。

搁笔完毕!

愿你我相信时间的力量,

做一个长期主义者!

相关文章:

车载基础软件——AUTOSAR AP典型应用案例

我是穿拖鞋的汉子,魔都中一位坚持长期主义的工程师! 最近不知道为何特别喜欢苏轼的一首词: 缺月挂疏桐,漏断人初静。谁见幽人独往来,缥缈孤鸿影。 惊起却回头,有恨无人省。拣尽寒枝不肯栖,寂寞…...

消息中间件----内存数据库 Redis7(第3章 Redis 命令)

Redis 根据命令所操作对象的不同,可以分为三大类:对 Redis 进行基础性操作的命令,对 Key 的操作命令,对 Value 的操作命令。3.1 Redis 基本命令首先通过 redis-cli 命令进入到 Redis 命令行客户端,然后再运行下面的命令…...

react-03-react-router-dom-路由

react-router-dom:react路由 印记中文:react-router-dom 1、路由原理 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>前端路由的基石_history</title> </head> <body><a hre…...

2自由度悬架LQR控制

目录 1 悬架系统 1.1 悬架结构示意图 1.2 悬架数学模型 1.3 路面激励 2.仿真分析 2.1simulink模型 2.2 仿真结果 2.3 结论 3. 总结 1 悬架系统 1.1 悬架结构示意图 1.2 悬架数学模型 其中&#xff1a;x1为悬架动扰度&#xff0c;x2为车身加速度&#xff0c;x3为轮胎…...

C语言返回类型为指针的一些经典题目(下)

续上一篇文章&#xff0c;上一篇文章题目都很经典&#xff0c;这一篇也不例外。一.返回类型为指针经典题目(下)1.代码(第六题)char *GetMemory3(int num) {char *p (char *)malloc(sizeof(char) * num);return p; } void Test3(void) {char *str NULL;str GetMemory3(100…...

OpenAI 官方api 阅读笔记

网站 API Key concepts Prompts and completions You input some text as a prompt, and the model will generate a text completion that attempts to match whatever context or pattern you gave it. Token  模型通过将文本分解成token来理解和处理, 处理token数量取…...

微服务项目【分布式锁】

创建Redisson模块 第1步&#xff1a;基于Spring Initialzr方式创建zmall-redisson模块 第2步&#xff1a;在zmall-redisson模块中添加相关依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</a…...

JavaWeb5-线程常用属性

目录 1.ID 2.名称 3.状态 4.优先级 5.是否守护线程 5.1.线程类型&#xff1a; ①用户线程&#xff08;main线程默认是用户线程&#xff09; ②守护线程&#xff08;后台/系统线程&#xff09; 5.2.守护线程作用 5.3.守护线程应用 5.4.守护线程使用 ①在用户线程&am…...

JVM调优及垃圾回收GC

一、说一说JVM的内存模型。JVM的运行时内存也叫做JVM堆&#xff0c;从GC的角度可以将JVM分为新生代、老年代和永久代。其中新生代默认占1/3堆内存空间&#xff0c;老年代默认占2/3堆内存空间&#xff0c;永久代占非常少的对内存空间。新生代又分为Eden区、SurvivorFrom区和Surv…...

JAVA练习53-打乱数组

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、题目-打乱数组 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 2月17日练习内…...

基于RK3588的嵌入式linux系统开发(三)——Uboot镜像文件合成

本章uboot镜像文件的合成包括官网必备文件rkbin下载和uboot镜像文件合成两部分内容&#xff0c;具体分别如下所述。 &#xff08;一&#xff09;下载rkbin文件包 以上uboot编译生成的uboot镜像不能直接烧录到板卡中运行&#xff0c;需要与atf、bl31、ddr配置文件等必备文件合成…...

wireshark抓包后通过工具分包

分包说明&#xff1a;关于现场问题分析&#xff0c;一般都是通过日志&#xff0c;这个属于程序中加的打印&#xff0c;或存数据库&#xff0c;或者存文本形式&#xff0c;这种一般比较符合程序逻辑&#xff1b;还有一种就是涉及到网络通信方面的&#xff0c;需要通过抓包来分析…...

举个栗子~Tableau 技巧(251):统一多个工作表的坐标轴范围

在工作汇报场景&#xff0c;有一个很常见、很多数据粉反馈的需求&#xff1a;同一看板上的两个图表&#xff0c;因为轴范围不一致&#xff08;如下图&#xff09;&#xff0c;很难直观比较。有什么办法可以统一它们的坐标轴范围呢&#xff1f; 类似需求&#xff0c;不论两个还是…...

Centos7 调整磁盘空间

1. 查看磁盘空间占用情况&#xff1a; df -h 可以看到 /home 有很多剩余空间,占了绝大部分&#xff0c; 而我又很少把文件放在home下。 2. 备份 /home 下的内容&#xff1a; cp -r /home/ /homebak/ 3. 关闭home进程&#xff1a; fuser -m -v -i -k /home 报错: -bash: fuser…...

小菜版考试系统——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是小菜版考试系统&#xff0c;最近一直在忙C语言课程设计的事&#xff0c;那么&#xff0c;就请uu们看看我的学习成果吧。 课程设计任务 摘要 题目分析 流程图 关键程序代码 程序运行结果 结论与心得 参…...

Twitter被封号了?最详细的申诉教程在此

由于Twitter检测系统是十分敏感的&#xff0c;所以在运营的时候很容易莫名就出现“此账号被封禁”或者“此账号被冻结”的情况。出现这种情况大多是因为账号发送了垃圾信息、面临安全风险、发太多广告或者太久没上线被判为机器人这几个原因。被封号后&#xff0c;我们可以通过向…...

Docker 安装配置

本章背景知识 本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。 环境准备 1、操作系统支持。 CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries 2、启用yum 软件仓库源。 centos-extras 编者注&#xff1a;Centos 默认已经开启cento…...

死锁检测组件-设想

死锁检测组件-设想 现在有三个临界资源和三把锁绑定了&#xff0c;三把锁又分别被三个线程占用。&#xff08;不用关注临界资源&#xff0c;因为锁和临界资源是绑定的&#xff09; 但现在出现这种情况&#xff1a;线程1去申请获取锁2&#xff0c;线程2申请获取锁3&#xff0c;…...

线程池的使用

为什么要使用线程池 复习一下创建线程的几种方式&#xff1a; 继承Thread 实现Runnable 实现Callable 但是如果频繁的创建/销毁线程&#xff0c;就会造成资源浪费。这时候就需要将线程创建好之后存起来&#xff0c;以后要用取出来&#xff0c;用完后再放回去。 注意 &#xff…...

字节码指令

目录 2.1 入门 2.2 javap 工具 2.3 图解方法执行流程 1&#xff09;原始 java 代码 2&#xff09;编译后的字节码文件 3&#xff09;常量池载入运行时常量池 4&#xff09;方法字节码载入方法区 5&#xff09;main 线程开始运行&#xff0c;分配栈帧内存 6&#xff09;…...

TLS/SSL证书彻底扫盲

证书格式 pem Privacy Enhanced Mail文本格式&#xff0c;以 -----BEGIN CERTIFICATE----- 开头&#xff0c;以-----END CERTIFICATE-----结尾 der 二进制格式&#xff0c;只保存证书&#xff0c;不保存私钥java和window服务器常见 pfx/p12 Predecessor of PKCS#12二进制格式&…...

WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第五步-高级可视化)

1写在前面 前面我们用WGCNA分析完成了一系列的分析&#xff0c;聚类分割模块。&#x1f970; 随后进一步筛选&#xff0c;找到与我们感兴趣的表型或者临床特征相关的模块&#xff0c;而且进行了模块内部分析。&#x1f618; 再然后是对感兴趣模块进行功能注释&#xff0c;了解模…...

try catch finally执行顺序

try catch finally&#xff0c;try里有return&#xff0c;finally还执行么&#xff1f;答案&#xff1a; 执行&#xff0c;并且返回return时&#xff0c;finally的执行早于try。try-catch-finally的执行顺序无return当try中的t()没有抛出异常public static void main(String[] …...

2023年数学建模美赛D题(Prioritizing the UN Sustainability Goals)分析与编程

2023年数学建模美赛D题分析建模与编程 重要说明&#xff1a; 本文介绍2023年美赛题目&#xff0c;并进行简单分析&#xff1b;本文首先对 D题进行深入分析&#xff0c;其它题目分析详见专题讨论&#xff1b;本文及专题分析将在 2月17日每3小时更新一次&#xff0c;完全免费&am…...

35岁测试工程师被辞退,给你们一个忠告

一&#xff1a;前言&#xff1a;人生的十字路口静坐反思 入软件测试这一行至今已经10年多&#xff0c;承蒙领导们的照顾与重用&#xff0c;同事的支持与信任&#xff0c;我的职业发展算是相对较好&#xff0c;从入行到各类测试技术岗位&#xff0c;再到测试总监&#xff0c;再转…...

华为OD机试题 - 租车骑绿岛(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

Linux下Python脚本的编写解析fio(minimal格式)(三)

在服务器测试(storage)过程中&#xff0c;会看到很多人写跑fio的脚本用minimal格式来解析&#xff0c;因为这种格式返回的结果对与脚本(shell,python)解析log非常方便.下面介绍一下这种方式下,用Python来解析log 1 一般客户会要求结果中出现一下参数的值&#xff1a; bandwidth…...

【实战场景二】如何设计一个分布式锁?

如何优雅的设计一个分布式锁&#xff1f;如何设计一个分布式锁&#xff1f;1、什么是分布式锁2、那么分布式锁&#xff0c;具备什么条件呢&#xff1f;3、设计分布式锁有哪些方式&#xff1f;3.1 利用redis实现分布式锁原理3.2 基于数据库做分布式锁3.3 基于zookeeper实现分布式…...

Java中ThreadLocal类详解

ThreadLocal从名字上我们看出&#xff0c;它叫做本地线程变量&#xff0c;每个线程都有各自的的变量&#xff0c;而不再是我们之前的两个线程共用同一个变量&#xff1b;以这个类创建的变量&#xff0c;在多个线程都用到这个变量时&#xff0c;可以为每一个线程创建一个变量副本…...

从一致性角度考虑推荐冷启动长尾推荐问题(一)

前言&#xff1a;目前中长尾推荐的方法有很多&#xff0c;主流的方法有几类比如:1)在没有项目ID嵌入的情况下提高推荐模型的鲁棒性&#xff0c;2)利用有限的交互数据提高学习效率&#xff0c;如使用元学习方法;3)利用物品侧面信息&#xff0c;便于物品ID嵌入的初始化&#xff0…...

出名的设计网站/足球世界排名国家

转载于:https://www.cnblogs.com/sheying/p/8509047.html...

公司网站在哪里做/十大广告公司排名

author&#xff1a;咔咔 wechat&#xff1a;fangkangfk function xmltoarr($path){//xml字符串转数组$xml $path;//XML文件$objectxml simplexml_load_string($xml);//将文件转换成 对象$xmljson json_encode($objectxml );//将对象转换个JSON$xmlarrayjson_decode($xmljson,…...

吉林省建设标准化网站/排名首页服务热线

本文实例讲述了java生成XML的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;下拉框的生成&#xff0c;我是通过javascript读取xml文件生成的。Xml文件是根据数据库生成的。Xml文件只相当于页面到数据库的一道缓存。这样利于性能。生成xml文件又是一件繁琐的事情。…...

wordpress多线程/企业网站优化工具

https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId13&tqId11181&tPage2&rp2&ru/ta/coding-interviews&qru/ta/coding-interviews/question-ranking 题目描述 数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这…...

怎么将自己房子投入网站做民宿/整站seo外包

在HTML5画布中我们可以使用fillStyle属性来设置文本的字体颜色&#xff0c;它可以接受一个颜色的代码值&#xff0c;比如#cc0000&#xff0c;也可以接受一个颜色的英文单词&#xff0c;比如red。下面我们就来了解一下&#xff0c;希望对大家有所帮助。【视频教程推荐&#xff1…...

亚马逊deal网站怎么做/软件培训机构排名

A.HDU 4825 你需要写一种数据结构&#xff1a; 往其中加入一个正整数&#xff1b;找出一个正整数&#xff0c;使得该数与询问数的异或结果最大。\(n\le 10^5\) 。 解 将数按二进制从高位到低位插入字典树。 查询时从高位往低位贪心。 Code #include<cstdio> using namesp…...