自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 Adaptive AUTOSAR CM模块介绍(六)

如果是,则返回一个ara::core::ErrorCode。否则,ara::com实现检查底层缓冲区是否包含一个新的事件样本,如果是这样的话,将其取消划分到一个样本槽中,然后调用f提供的应用程序,该应用程序具有指向该新事件样本的SamplePtr。以上是AP的事件的内部实现方式,但是从ara::com实现移交给用户层的是SamplePtr,它是一个唯一的指针(非常类似于std::unique_ptr),这个指针指向事件的内存池在IPC缓存中,一般是share memory。Event订阅和缓存原理。

2023-10-17 15:27:29 226

原创 Adaptive AUTOSAR CM模块介绍(五)

这是大部分工程师都会困扰的地方,也是bug很多的地方,需要知道原理,在解bug的时候才能游刃有余,有理论依据。每当绑定的实例检测到时,证明服务实例的可用性,这个服务句柄的列表就会更新。proxy class类提供类(静态)方法来FindService() 实例,服务是动态的,因此,AUTOSAR提供了两个方法来提供发现服务。在被调用后,StartFindService的行为与FindService相似,它将使用当前可用的服务触发用户提供的处理程序函数。

2023-10-13 13:28:53 243

原创 Adaptive AUTOSAR CM模块介绍(四)

ResolveInstanceIDs()的中间件实现流程是从绑定在流程中的服务实例清单中查找ara::core::InstanceSpecifier的实例标识符。说明ara::com::InstanceIdentifier是一个集合。实例标识符,顾名思义,是从类到对象的创建过程,即一个服务对象的创建成实例的过程,服务端和客户端都会分别创建自己的实例。实例标识符接口ara::com::InstanceIdentifier提供了一个接受字符串的 value。命名空间为ara:: com。

2023-10-12 17:49:24 254

原创 Adaptive AUTOSAR CM模块介绍(三)

在method方法定义里面需要定义的是方法的输入输出以及方法的输入输出的类型,direction是输入输出类型,in是输入, out是输出。当调用函数封装的时候,错误通知是以ara::core::Result 和 ara::core::Future。raises类似于捕捉,捕捉错误的,这里调用了上面的error, 说明捕捉了上面的error。RadarService是定义了一个服务接口, 服务接口里面定义接口的数据类型。上个模块介绍了CM模块大体的框架,这一小节,聊一下ara::com的API。

2023-10-11 13:19:35 271

原创 Adaptive AUTOSAR CM模块函数介绍

(1)ResolveInstanceIDs(ara::core::InstanceSpecifier modelName)作用:InstanceSpecifier 实例说明符,是作为服务端的唯一的实例标识符ResolveInstanceIDs 对实例标识符进行解析(2)class RawDataStreamClient final {…}通过网络连接,用于读取和写入二进制数据流的RawDataStreamClient对象(3)ara::core::Result Create (constara::

2023-09-27 16:27:45 96

原创 工作总结模板(一)

在**汽车的项目上,我负责&&车型的&&系统的开发工作,作为模块的负责人,我完成了代码的开发、维护的工作,最终量产的产品得到用户的信任和赞美。在&&的项目中,我完成了&&&的开发工作,&&的开发是新型的技术,很多的公司都还没有掌握这种技术,在跟国外的技术探讨中,我们也是走在国际的前列的探索。而为了能让同事尽快的融入公司的环境,会经常的和同时一起完成和review他们的工作。在技术追求上,试用期勤勤恳恳的完成公司的培训,牢固的扎实的奠定自己的技术基础,戒骄戒躁,踏实的完成自己的技术积累。

2023-09-27 16:26:47 46

原创 Adaptive AUTOSAR CM模块介绍(二)

1.当时工程师的设想是当时的中间件还是很复杂并且有各自的功能,AUTOSAR肯定是想要构建一个统一的接口,各个OEM都遵守的协议。因此,综上所述的发考虑,AUTOSAR考虑的还是比较全面的,从实时通信、SOME/IP、安全、SOA思想等融于一体的考虑,才有了这个ara::com API的想法架构和设计。Proxy/Skeleton分别是客户端和给服务端的服务,这两个的服务是可以通过用户定义生成的抽象类,用户通过这些类去创建各自的对象,调用各自的方法进行通信。不得不说当时SOME/IP是非常的好用的。

2023-09-27 16:19:44 294

原创 Adaptive AUTOSAR Diagnostic Manager模块介绍(一)

Autosar应用程序的诊断模块分为许多的软件端。每个软件端代表具有自己诊断地址的独立诊断实体。DM根据接收到的目标向软件集群发送传入的UDS请求地址,并将请求转发给负责的诊断服务器实例。DoIP传输协议是通过以太网从诊断服务器传输诊断数据的协议客户端连接到ECU.GetAllConversations()得到所有的诊断会话。DM为每个安装的软件端提供一个专用的诊断服务器实例。诊断客户端和DoIP子组件之间的通信通过UDP和TCP套接字。...

2022-08-01 10:57:35 808 1

翻译 Adaptive AUTOSAR CM模块介绍(一)

一、概述AUTOSAR的通信管理(CM)Adaptive就是这样一个功能集群,它是“AUTOSAR自适应运行时”应用程序”-ARA的一部分。它负责构建和监督本地和远程应用程序之间的通信路径。CM提供了基础设施,支持自适应系统之间的通信机器内的AUTOSAR应用程序以及其他机器上的软件实体,例如其他自适应AUTOSAR应用程序或经典AUTOSAR SWC二、功能接口在通信管理的上下文中,需要以下类型的接口定义:(1)公共应用程序接口:自适应AUTOSAR API的一部分,这是标准化的ara::co

2021-12-31 14:37:00 1920

原创 CMake option选项详解:可执行cpp和CMakeLists.txt

CMake:optionoption(<option_variable> “help string describing option”[initial value])这是用户手册的解释。那怎么用呢?直接上代码,再解释:cmake_option_test.cpp#include <iostream> int main() {#ifdef TEST std::cout<<"Test Run"<<std::endl;#else

2021-12-27 14:31:56 2768

原创 gitlab 创建子模块 git submodule 教程

最好理解的submodule教程,最符合逻辑的思维方式创建子模块教程(1)在gitlab上创建一个空的仓库,这个称为主模块,在这个模块里面再创建子模块。(2)在gitlab上再次创建一个空的仓库,这个空仓库是子模块,子模块最好创建一个文件夹,方便辨认是否是你的子模块。(如果你已经有了子模块,可以不用创建)(3)在本地的位置去把步骤(1)创建的主模块git clone 到本地git clone http://********************(4)进入到主文件夹里面(5)这一步要添加子模块了

2021-12-01 11:16:17 5689 2

原创 CMake工程从入门到进阶完整版,可以完成简单的工程创建(完结)

一、Cmake介绍CMake是一个跨平台的编译工具,使用CMake能够输出各种各样的makefile或者project文件。先介绍makefile:以一个linux下的例子来说,我要编译如图所示的工程怎么办?如果不用make命令,则输入:gcc命令输入那么多次,如果我的文件有100个,输入就会烦死。引入Makefile:只执行make即可生成可执行文件outMakefile的内容为:Makefile生成也很麻烦啊,如果我要是添加一个文件,上图的每行都要修改。于是Makefile有变量解决这

2021-11-25 10:29:23 2651

原创 Xshell “所选的用户密钥未在远程主机上注册,请再试一次”SSH 登录远程linux服务器(良心整理)

这个问题真的要把我逼疯了,为什么呢?为了解决这个问题,我搜遍了CSDN、知乎、简书上的解决方案,CSDN上的回答真的是水文太多,相互抄,抄就抄吧,只抄一半。这让真正想解决问题的人走了太多的弯路。也不知道是谁写的原文,可能作者解决了,但是写的很不清楚,也让读者越来越糊涂。我走了这么多的弯路,解决了这个问题,希望我能把问题讲明白。**(1)**SSH的密码登录:说白了,就是通过远程登录服务器,通过设置网络IP和端口(默认为22)进行登录,这种登录方法需要登录用户名和登录密码。登录名就是在linux终端登

2021-11-19 14:50:59 16676 18

原创 VMware安装Ubuntu linux 设置共享文件夹和VMware Tools安装全套教程(2)

想要实现windows和linux共享文件的传输,步骤如下:(1)找到安装VMware workstation的目录,一般的在C:\Program Files (x86)\VMware\VMware Workstation找到linux.iso,这是可以安装vmtools的镜像,可以支持共享文件夹的自动挂载和创建。(2)按照步骤添加(3)找到想要共享文件夹的windows目录,如图:(3)回到刚才的虚拟机设置下,按照图上的点击找到linux.iso,打开。(4)打开虚拟机按照图片点击

2021-11-17 16:59:55 560

原创 VMware安装Ubuntu linux 设置共享文件夹和VMware Tools安装全套教程(1)

VMware安装包可以从VMware官网下载,下载免费的版本就可以。安装完了VMware虚拟机想要安装Ubuntu虚拟机环境如下:(1)新建虚拟机文件 -》新建虚拟机 按照图片一直点下一步(2)到这里就完成创建,现在需要添加操作系统:下载地址,从阿里云上获取最新的linux操作系统http://mirrors.aliyun.com/ubuntu-releases/21.10/下载红色对勾的版本。(3)点击刚才创建的虚拟机,然后出现以下界面:开启以后,根据引导

2021-11-17 16:35:25 692

原创 Adaptive AUTOSAR架构介绍(10)

MATLAB Simulink Adaptive AUTOSAR生成的代码解析:main.cpp 进程创建,信号,管理等生成const ara::core::Result initStatus{ ara::core::Initialize() }; 初始化ara核sem_init(&mwSync::baserate_tick, 0, 0) == SIG_RET_FAIL)信号初始化rtObj.initialize();初始化应用***.cpp应用业务逻辑处理ProvidedPort

2021-11-11 09:02:30 1873

原创 Adaptive AUTOSAR架构介绍(9)

MATLAB Simulink Adaptive AUTOSAR生成的代码解析:在simulink上生成的代码工程如图所示:providedinterface_common.hprovidedinterface_skeleton.h 服务端接口,这是AUTOSAR底层的交互文件,会引用底层的函数requiredinterface_common.hrequiredinterface_proxy.h 客户端接口...

2021-11-11 09:01:17 1770

原创 Adaptive AUTOSAR架构介绍(8)

通讯服务ara::com采用Proxy/Skeleton的通信架构,同时采用中间件SOME/IPProxy/Skeleton的通信架构,即Client/Server。

2021-11-04 10:39:25 824

原创 Adaptive AUTOSAR架构介绍(7)

AP在MATLAB SWC的部署:下图第一个为CP的MATLAB部署,第二个是AP的MATLAB部署。他们的区别很明显,Ap中间多了一个Event模块,因为AP是面向服务的,因此接口会添加服务端和客户端的Event通讯

2021-11-03 10:15:38 1256

原创 Adaptive AUTOSAR架构介绍(6)

AP最大的特点是面向服务通信,即SOC。这是一种基于请求应答设计范式的分布式计算的进化,用于同步和异步通讯。应用程序的业务逻辑或单个模块函数模块化,并作为服务端/客户端(Server/Client)应用程序呈现。 遵循AP规范开发的应用程序拥有独特的优势:它们可以在运行是安装进系统中,就像只能手机中的APP,这些面向服务的通信可以让APP单独的进行开发、测试、更新或者发布,并在任意时刻集成进整个系统中。...

2021-11-03 10:13:15 240

原创 Adaptive AUTOSAR架构介绍(5)

AUTOSAR自适应应用运行接口:以通信接口com为例AUTOSAR自适应应用运行接口(ARA)类似于RTE。它又可分为两种形式:一种是与FO之间的接口,表示为各种API;另一种是各种service之间的通讯接口,表示为ara::com。com叫做CM集群,传统的IPC通信是不行的,只能借助 ara::com接口进行通讯,这是AP的规范。...

2021-11-03 10:11:42 584

原创 Adaptive AUTOSAR架构介绍(4)

自适应基础和自适应平台服务两大模块中都包含众多的功能集群,比如通信集群、诊断集群、操作系统、更新配置管理等。其函数接口以及功能群如上所示,ara::com ara::exec等

2021-11-03 10:08:55 243

原创 Adaptive AUTOSAR架构介绍(3)

在AP架构下每个Application都是一个App,每个App都包含OS、COM、API

2021-11-03 10:05:23 352

原创 Adaptive AUTOSAR架构介绍(2)

在AP(Adaptive AUTOSAR)架构下,一切都是OS中的进程,这跟CP架构有着显著的区别,在CP架构下,所有应用都是静态配置的,即应用的进程在OS中被写死,一旦软件编译完成就不可更改,其调用的周期也是确定,因此基于CP架构的软件一旦有小的应用变更就得重新配置和编译:费时费力。而AP架构的软件就如计算机的工作原理,应用是动态动态管理,好比你手机上运行的,何时调用、进程生存周期、资源占用及进程结束等都由系统的App何时打开、运行后其会调用的资源及何时关闭都是动态进行的。...

2021-11-03 10:03:43 293

原创 Adaptive AUTOSAR架构介绍(1)

Adatptive AUTOSAR并不是Classic AUTOSAR的替代品,不同的版本可同时存在于一辆车中,两个ECU可通过一些途径,例如以太网,将经典应用和自适应应用进行无缝衔接。

2021-11-03 10:01:59 366

原创 AUTOSAR架构介绍(7)

AUTOSAR软件组件的端口与端口接口:AUTOSAR中使用端口接口(Port-Interface)来描述端口之间的供需关系。端口接口有3种,分别为发送者/接收者接口(Sender-Receiver Interface,S-R)、客户端/服务器接口(Client-Server Interface,C-S)和标定接口(Calibration Interface)...

2021-11-01 09:40:15 296

原创 AUTOSAR架构介绍(6)

AUTOSAR软件组件的端口与端口接口:软件组件通过端口(Port)来进行不同软件组件间或者软件组件与硬件间的通讯或者交互。每个软件组件都需要定义端口。端口代表了软件组件间通信内容及其方向,分为两类,一类是供型端口(P-Port),一类是需型端口(R-Port)。...

2021-11-01 09:38:24 307

原创 AUTOSAR架构介绍(5)

AUTOSAR软件组件:(1)应用软件组件(Application SWC)(2)传感器/执行器软件组件(Sensor/Actuator SWC)(3)标定参数软件组件(Parameter SWC)(4)ECU抽象软件组件(ECU Abstraction SWC)(5)复杂设备驱动软件组件(Complex Device Driver SWC)(6)服务软件组件(Service SWC)...

2021-10-29 14:53:43 158

原创 AUTOSAR架构介绍(4)

AUTOSAR系统解决方案:以博世ETAS为例:(1)ISOLAR-A:提供软件架构设计工具,支持整车级软件架构的设计,可用于符合AUTOSAR规范的汽车嵌入式系软件开发中的系统级软件开发(2)ASCET:基于AUTOSAR模型的软件组件建模工具(3)RTA系列:由RTA-RTE、RTA-BSW、RTA-OS组成,可用于AUTOSAR ECU级别开发,即RTE与BSW配置及代码生成。(4)ISOLAR-EVE:虚拟ECU验证平台...

2021-10-29 14:50:43 485

原创 AUTOSAR架构介绍(4)

AUTODSAR开发流程:1、编写系统配置输入描述文件在AUTOSAR中,所有的描述文件都是XML类型的文件。系统配置输入文件包含三部分内容:(1)软件组件描述,定义了每个涉及的软件组件的接口内容,如数据类型,端口,接口等。(2)ECU资源描述,定义了每个ECU的资源需求,如处理器、存储器、外围设备、传感器和执行器等。(3)系统约束描述,定义了总线信号,软件组件间的拓扑结构和映射关系。2、系统配置系统配置的功能主要是在资源和时序关系的前提下,把软件组件映射到各个ECU上,然后借助系统配置生成器生

2021-10-29 14:49:20 208

原创 AUTOSAR架构介绍(3)

既然AUTOSAR是分层设计,每层都有自己的设计接口,总结来说主要的接口为:(1)AUTOSAR接口是一种与应用相关的接口,与RTE一并生成。基于AUTOSAR接口的端口可以用于软件组件(Software Component,SWC)之间或者软件组件与ECU固件之间(例如复杂驱动)的通信。(2)标准化AUTOSAR接口是一种特殊的AUTOSAR接口。这些在AUTOSAR规范中定义过的接口被SWC用于访问AUTOSAR BSW模块提供的服务,比如ECU管理模块或者诊断事件管理模块。(3)标椎化接口是AU

2021-10-29 14:46:53 230

原创 AUTOSAR架构介绍(2)

AUTOSAR方法论:车用控制器软件的开发涉及系统级、ECU级、软件组件级:系统级主要考虑系统功能需求、硬件资源、系统约束,然后建立系统框架;ECU级根据抽象后的信息对ECU进行配置;软件组件级伴随着前两个的开发同时进行;采用“自顶向下”的软件组件设计...

2021-10-29 14:44:26 118

原创 AUTOSAR架构介绍(1)

架构从上往下分别是:应用软件层(ASW)RTE层 (RTE)基础软件层(BSW)微控制器层(MCAL)软硬件分离的分层设计,对于OEM及供应商来说,提高了系统的整合能力,尤其标准化交互接口以及软件组件模型的定义提高了各层的软件复用能力,从而降低了开发成本,使得系统集成与产品推出的速度极大提升。...

2021-10-29 14:42:32 885

原创 ADAS功能简介

1.主动控制类ADAS:(1)自适应巡航控制系统 AdapTIve Cruise Control(ACC)(2)自动紧急制动 Autonomous Emergency Braking(AEB)(3)智能大灯控制 AdapTIve Front Lights (AFL)(4)智能车速控制 Intelligent Speed AdaptaTIon (ISA)(5)行人检测系统 Pedestrian DetecTIon System (PDS)2.预警类ADAS:BSM/FCW/LDW/PCW等:(1

2021-10-29 14:34:54 2214

原创 数据结构与算法整理(宏观分类)

**数据结构与算法学了挺长时间了,都会被这些数据结构整的一塌糊涂,我觉得学好数据结构,得先有个宏观的认识,否则,越学习,越迷茫。我整理下数据结构和算法的整体框架。** **数据结构有哪些? 最常用 7 大数据结构** (1)数组 优点:根据索引查询,高效 缺点:插入、删除很麻烦 连续内存 指定长度 (2)链表 优点:插入、删除效率高 缺点:查找很慢 (3)栈 先进后出 (4)队列 先进先出 (5)树 非线性,二叉树很重要,掌握二叉树的遍历(前中后)..

2021-10-12 17:16:25 170

原创 C++面试小积累(四)

new 和 malloc的区别(1)malloc()是C/C++库函数,new是运算符(2)可以认为new偏上层,malloc偏底层,new的底层也是调用malloc(3)new是运算符,因此可以重载(4)new可以初始化,malloc只是分配内存空间(5)new是偏应用层,因此new调用构造函数,delete调用析构函数...

2021-09-17 16:32:26 85

原创 眼里有星辰大海 心里有繁花似锦(辞职报告)

由于我个人的原因,&&&&&&心中纵有万般不舍,

2021-09-10 12:57:03 117

原创 自律才能自由

请问怎么才能自律?答:是坚持,坚持才能自律从坚持身边的每一件小事做起你可以给自己规定每天坚持的一两件小事比如:每天读英语,每天坚持学习一小段等等坚持下去,你会发现,你的心理自信就得到了很大的提升,你会发现自己的内心,是自由的。这就是自律即自由的精髓所在!!!...

2021-09-03 23:52:56 137

原创 程序员英文自我介绍(吐血整理)

I would appreciate to discuss how my experience will be compatible for your firm. When i graduated from university, I was on board the && company which mission is && .A three year experience has urged me to be a eligible software enginee

2021-08-31 21:06:22 2385 1

原创 程序员的职业素养

1.产品思维很多人认为程序员只要写好代码就可以了,但是程序员写代码之前应该要先搞清楚需求,然后设计,最后才会code,code是在开发中只占很小一部分的比重。更多的时间是在design,debug,解bug等操作。有了产品思维会帮助客户正确的提出并且完善需求,也能提高自己编码的效率。减少沟通成本。因此,良好的程序员不但可以清楚正确的完成客户的需求,还能弥补客户需求考虑不充分的地方,让这个产品细节更完美,做出的产品质量更高,客户的接收度更好。举例,项目上自动触发的功能,因为懂得产品思维会提出客户可能还

2021-08-30 17:12:23 1402

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除