- 博客(60)
- 收藏
- 关注
原创 我想写日记了
许多名人也写日记,我觉得这是一个特别好的方式,那就坚持下去吧。我想补上昨天的东西,昨天为人民服务践行的真的很好,我特别的开心。人类真的是因为付出而喜悦,这真的是得到了最大的印证,继续坚持下去,坚持为人民服务,开心的服务。其实大道至简,这些大道,继续践行即可收获好的人生。我觉得,为人民服务,真心为人民服务,一定会迸发出很多的创造力,你要真心的去为人民服务,就有智慧。今天写日记我觉得很开心,觉得自己走在了人间正道,走在了希望的田野上。
2025-03-09 20:27:50
194
原创 DDS技术分享(二)---IDL
因为在项目开发过程中,最麻烦改动量最大的文件就是接口文件。虽然idl文件接口设置的不多,但是生成的接口文件是不会少的,需要生成全部的接口文件是一个很复杂的过程,当然会有一定的规则,可以利用python脚本等辅助生成。好不容易收集完成以后实现又是一个大问题,因为这个涉及到接口的定义和软件代码的实现。这些接口文件里面实现了许多的应用,比如怎么publish 怎么subcrbe等的应用接口具体的实现,在应用的的时候直接将其调用相应的接口即可完成。idl文件根据语法写完以后需要生成对应的接口。
2025-02-27 17:14:13
208
原创 DDS技术分享(一)
DDS是开源的库,但是其开源的库比较庞大,在汽车行业引入DDS需要进行配置和筛减以达到满足车载通讯的目的,因此这这个工具会在很多的行业进行了适配。所以会有供应商来适配DDS的产品,作为第二供应商提供DDS的平台通讯和搭建。关于IDL的设置,会在下一章节讲解,简单来说就是自动生成代码的设置文件,会自动生成所需代码,生成的代码是接口代码,开发人员可以使用这些接口文件调用进行代码实现。topicDataType:是这个话题所设置的话题数据结构,注意这个结构式在IDL文件中设置的。以上是接收端的代码。
2025-02-26 18:03:58
309
原创 让自己产生心流的事情
去观察茶叶在杯中舒展的状态,去看那种心流的状态。7.打开笔记本去写下自己的计划,今天的计划等。感受指尖的触觉,体验这种感受,心流就经过。吸气4秒闭气4秒,吐气4秒闭气4秒。8.买一个香薰,感受香薰的香气。听琴声,翻书声等声音很舒服。去整理办公桌,产生心流。2.触摸身边的毛绒绒。
2025-02-21 09:38:03
109
原创 DOIP UDS车载OTA升级开发(二)
比如0x556 10 01 这个报文就是切换会话的意思,前面的0x556是逻辑地址是uds协议的头部,标志的是请求的设备的逻辑地址, 0x10是切换会话,然后进入会话 01是带的指令,期待回复。这些服务也是一系列的流程,涉及到校验、安全、下载等流程,最好带着代码进行解释,这个以后会附代码讲解的,这篇文章就先讲解一下答题的流程。统一诊断服务,这个文档主要规定在完成DOIP的服务以后,进行主要的升级等服务所需要的协议,完成OTA升级过程中的服务等。UDS的其他服务下一章继续介绍!以上是负响应码列表,供参考!
2025-02-19 17:43:26
208
原创 DOIP UDS车载OTA升级开发(一)
DOIP实际上是UDP的传输,ISO13400规定了UDP里面的payload协议格式,我们作为工程师将其解析出来然后放到payload里面即可完成DOIP的通讯。UDS由ISO 14229国际规范下的一个重要标准,提供了一种通用的通信协议来实现车辆的诊断、故障检测和修复。我们这边介绍OTA升级的过程需要知道车载需要的协议,分别是DOIP协议和UDS协议,对应着车载行业的。这是ISO 13400规定的规范分别对应的网络OSI七层网络模型的对应层级。当路径激活成功以后就还可以进行下一步UDS的服务了。
2025-02-19 15:17:19
378
原创 windows安装Carla
4.以上启动的是server端,需要启动client端和其交互,需要自己编写python程序和其交互,因此需要构建可以交互的carla环境,因为carla对python的环境依赖很严格,需要python2.7或python3.7,如果你的电脑已经安装了python的环境就会引起冲突。因此有了anaconda。如图所示,就会看到你的环境是base 和 carla的环境的区别,说明进入了carla的conda环境。用carla自带的python脚本搭建需要的carla环境,成功说明carla环境安装成功。
2024-08-27 11:49:32
691
1
原创 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
359
原创 Adaptive AUTOSAR CM模块介绍(五)
这是大部分工程师都会困扰的地方,也是bug很多的地方,需要知道原理,在解bug的时候才能游刃有余,有理论依据。每当绑定的实例检测到时,证明服务实例的可用性,这个服务句柄的列表就会更新。proxy class类提供类(静态)方法来FindService() 实例,服务是动态的,因此,AUTOSAR提供了两个方法来提供发现服务。在被调用后,StartFindService的行为与FindService相似,它将使用当前可用的服务触发用户提供的处理程序函数。
2023-10-13 13:28:53
408
原创 Adaptive AUTOSAR CM模块介绍(四)
ResolveInstanceIDs()的中间件实现流程是从绑定在流程中的服务实例清单中查找ara::core::InstanceSpecifier的实例标识符。说明ara::com::InstanceIdentifier是一个集合。实例标识符,顾名思义,是从类到对象的创建过程,即一个服务对象的创建成实例的过程,服务端和客户端都会分别创建自己的实例。实例标识符接口ara::com::InstanceIdentifier提供了一个接受字符串的 value。命名空间为ara:: com。
2023-10-12 17:49:24
365
原创 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
523
原创 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
210
原创 工作总结模板(一)
在**汽车的项目上,我负责&&车型的&&系统的开发工作,作为模块的负责人,我完成了代码的开发、维护的工作,最终量产的产品得到用户的信任和赞美。在&&的项目中,我完成了&&&的开发工作,&&的开发是新型的技术,很多的公司都还没有掌握这种技术,在跟国外的技术探讨中,我们也是走在国际的前列的探索。而为了能让同事尽快的融入公司的环境,会经常的和同时一起完成和review他们的工作。在技术追求上,试用期勤勤恳恳的完成公司的培训,牢固的扎实的奠定自己的技术基础,戒骄戒躁,踏实的完成自己的技术积累。
2023-09-27 16:26:47
102
原创 Adaptive AUTOSAR CM模块介绍(二)
1.当时工程师的设想是当时的中间件还是很复杂并且有各自的功能,AUTOSAR肯定是想要构建一个统一的接口,各个OEM都遵守的协议。因此,综上所述的发考虑,AUTOSAR考虑的还是比较全面的,从实时通信、SOME/IP、安全、SOA思想等融于一体的考虑,才有了这个ara::com API的想法架构和设计。Proxy/Skeleton分别是客户端和给服务端的服务,这两个的服务是可以通过用户定义生成的抽象类,用户通过这些类去创建各自的对象,调用各自的方法进行通信。不得不说当时SOME/IP是非常的好用的。
2023-09-27 16:19:44
481
原创 Adaptive AUTOSAR Diagnostic Manager模块介绍(一)
Autosar应用程序的诊断模块分为许多的软件端。每个软件端代表具有自己诊断地址的独立诊断实体。DM根据接收到的目标向软件集群发送传入的UDS请求地址,并将请求转发给负责的诊断服务器实例。DoIP传输协议是通过以太网从诊断服务器传输诊断数据的协议客户端连接到ECU.GetAllConversations()得到所有的诊断会话。DM为每个安装的软件端提供一个专用的诊断服务器实例。诊断客户端和DoIP子组件之间的通信通过UDP和TCP套接字。...
2022-08-01 10:57:35
1267
翻译 Adaptive AUTOSAR CM模块介绍(一)
一、概述AUTOSAR的通信管理(CM)Adaptive就是这样一个功能集群,它是“AUTOSAR自适应运行时”应用程序”-ARA的一部分。它负责构建和监督本地和远程应用程序之间的通信路径。CM提供了基础设施,支持自适应系统之间的通信机器内的AUTOSAR应用程序以及其他机器上的软件实体,例如其他自适应AUTOSAR应用程序或经典AUTOSAR SWC二、功能接口在通信管理的上下文中,需要以下类型的接口定义:(1)公共应用程序接口:自适应AUTOSAR API的一部分,这是标准化的ara::co
2021-12-31 14:37:00
2339
原创 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
3647
原创 gitlab 创建子模块 git submodule 教程
最好理解的submodule教程,最符合逻辑的思维方式创建子模块教程(1)在gitlab上创建一个空的仓库,这个称为主模块,在这个模块里面再创建子模块。(2)在gitlab上再次创建一个空的仓库,这个空仓库是子模块,子模块最好创建一个文件夹,方便辨认是否是你的子模块。(如果你已经有了子模块,可以不用创建)(3)在本地的位置去把步骤(1)创建的主模块git clone 到本地git clone http://********************(4)进入到主文件夹里面(5)这一步要添加子模块了
2021-12-01 11:16:17
7265
2
原创 CMake工程从入门到进阶完整版,可以完成简单的工程创建(完结)
一、Cmake介绍CMake是一个跨平台的编译工具,使用CMake能够输出各种各样的makefile或者project文件。先介绍makefile:以一个linux下的例子来说,我要编译如图所示的工程怎么办?如果不用make命令,则输入:gcc命令输入那么多次,如果我的文件有100个,输入就会烦死。引入Makefile:只执行make即可生成可执行文件outMakefile的内容为:Makefile生成也很麻烦啊,如果我要是添加一个文件,上图的每行都要修改。于是Makefile有变量解决这
2021-11-25 10:29:23
2784
原创 Xshell “所选的用户密钥未在远程主机上注册,请再试一次”SSH 登录远程linux服务器(良心整理)
这个问题真的要把我逼疯了,为什么呢?为了解决这个问题,我搜遍了优快云、知乎、简书上的解决方案,优快云上的回答真的是水文太多,相互抄,抄就抄吧,只抄一半。这让真正想解决问题的人走了太多的弯路。也不知道是谁写的原文,可能作者解决了,但是写的很不清楚,也让读者越来越糊涂。我走了这么多的弯路,解决了这个问题,希望我能把问题讲明白。**(1)**SSH的密码登录:说白了,就是通过远程登录服务器,通过设置网络IP和端口(默认为22)进行登录,这种登录方法需要登录用户名和登录密码。登录名就是在linux终端登
2021-11-19 14:50:59
19819
22
原创 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
610
原创 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
729
原创 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
1942
原创 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
1830
原创 Adaptive AUTOSAR架构介绍(8)
通讯服务ara::com采用Proxy/Skeleton的通信架构,同时采用中间件SOME/IPProxy/Skeleton的通信架构,即Client/Server。
2021-11-04 10:39:25
1085
原创 Adaptive AUTOSAR架构介绍(7)
AP在MATLAB SWC的部署:下图第一个为CP的MATLAB部署,第二个是AP的MATLAB部署。他们的区别很明显,Ap中间多了一个Event模块,因为AP是面向服务的,因此接口会添加服务端和客户端的Event通讯
2021-11-03 10:15:38
1334
原创 Adaptive AUTOSAR架构介绍(6)
AP最大的特点是面向服务通信,即SOC。这是一种基于请求应答设计范式的分布式计算的进化,用于同步和异步通讯。应用程序的业务逻辑或单个模块函数模块化,并作为服务端/客户端(Server/Client)应用程序呈现。 遵循AP规范开发的应用程序拥有独特的优势:它们可以在运行是安装进系统中,就像只能手机中的APP,这些面向服务的通信可以让APP单独的进行开发、测试、更新或者发布,并在任意时刻集成进整个系统中。...
2021-11-03 10:13:15
290
原创 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
775
原创 Adaptive AUTOSAR架构介绍(4)
自适应基础和自适应平台服务两大模块中都包含众多的功能集群,比如通信集群、诊断集群、操作系统、更新配置管理等。其函数接口以及功能群如上所示,ara::com ara::exec等
2021-11-03 10:08:55
313
原创 Adaptive AUTOSAR架构介绍(2)
在AP(Adaptive AUTOSAR)架构下,一切都是OS中的进程,这跟CP架构有着显著的区别,在CP架构下,所有应用都是静态配置的,即应用的进程在OS中被写死,一旦软件编译完成就不可更改,其调用的周期也是确定,因此基于CP架构的软件一旦有小的应用变更就得重新配置和编译:费时费力。而AP架构的软件就如计算机的工作原理,应用是动态动态管理,好比你手机上运行的,何时调用、进程生存周期、资源占用及进程结束等都由系统的App何时打开、运行后其会调用的资源及何时关闭都是动态进行的。...
2021-11-03 10:03:43
365
原创 Adaptive AUTOSAR架构介绍(1)
Adatptive AUTOSAR并不是Classic AUTOSAR的替代品,不同的版本可同时存在于一辆车中,两个ECU可通过一些途径,例如以太网,将经典应用和自适应应用进行无缝衔接。
2021-11-03 10:01:59
451
原创 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
369
原创 AUTOSAR架构介绍(6)
AUTOSAR软件组件的端口与端口接口:软件组件通过端口(Port)来进行不同软件组件间或者软件组件与硬件间的通讯或者交互。每个软件组件都需要定义端口。端口代表了软件组件间通信内容及其方向,分为两类,一类是供型端口(P-Port),一类是需型端口(R-Port)。...
2021-11-01 09:38:24
383
原创 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
212
原创 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
584
原创 AUTOSAR架构介绍(4)
AUTODSAR开发流程:1、编写系统配置输入描述文件在AUTOSAR中,所有的描述文件都是XML类型的文件。系统配置输入文件包含三部分内容:(1)软件组件描述,定义了每个涉及的软件组件的接口内容,如数据类型,端口,接口等。(2)ECU资源描述,定义了每个ECU的资源需求,如处理器、存储器、外围设备、传感器和执行器等。(3)系统约束描述,定义了总线信号,软件组件间的拓扑结构和映射关系。2、系统配置系统配置的功能主要是在资源和时序关系的前提下,把软件组件映射到各个ECU上,然后借助系统配置生成器生
2021-10-29 14:49:20
411
原创 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
296
原创 AUTOSAR架构介绍(2)
AUTOSAR方法论:车用控制器软件的开发涉及系统级、ECU级、软件组件级:系统级主要考虑系统功能需求、硬件资源、系统约束,然后建立系统框架;ECU级根据抽象后的信息对ECU进行配置;软件组件级伴随着前两个的开发同时进行;采用“自顶向下”的软件组件设计...
2021-10-29 14:44:26
160
原创 AUTOSAR架构介绍(1)
架构从上往下分别是:应用软件层(ASW)RTE层 (RTE)基础软件层(BSW)微控制器层(MCAL)软硬件分离的分层设计,对于OEM及供应商来说,提高了系统的整合能力,尤其标准化交互接口以及软件组件模型的定义提高了各层的软件复用能力,从而降低了开发成本,使得系统集成与产品推出的速度极大提升。...
2021-10-29 14:42:32
1002
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人