《AutoSar实战》读写DID之二:工具链配置

news2024/12/28 5:40:47

文章目录

  • 前言
  • 一、配置DID存储功能
    • 1. 新建Ram memory
    • 2. 新建NvM Block Needs
    • 3. 检查
  • 二、关联client/server接口
    • 1. 关联
    • 2. 生成代码并验证
  • 总结


前言

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。
DID读写功能实现流程包括如下几点:
1, CDD准备 2, 工具链配置 3, 代码实现 4, 验证结果

本文讲述流程2
在这里插入图片描述
话不多说,走你~

一、配置DID存储功能

书接上文《AutoSar实战》读写DID之一:CDD准备,我们已经完成了CDD文件创建DID 0x6666,以及工具链同步的操作。若要实现DID的写入功能肯定离不开存储。这里的存储是指通过诊断指令2E服务将数据存储在非易性存储中 (NvM) ,因此章节一是对其存储做相关配置。

1. 新建Ram memory

打开DaVinci Developer,找到应用层诊断SWC。新建Ram数组
配置项:
name: NvMShw_6666_ChunFengYouXin。
Data Type: Dcm_Data4ByteType(4字节)。
NvM Block Need: 先保留,后面我们新建一个,和Ram关联下即可。
在这里插入图片描述

2. 新建NvM Block Needs

在这里插入图片描述
1)Services Needs
2)创建名称
3)配置自动创建Need name
4)配置错误检测
5)配置上电读取,下电存储
6)关联步骤1 创建的Ram数组

7)建立ROM的数组默认值
在这里插入图片描述

3. 检查

1)检查并保存DaVinci Developer(点击保存之后,DaVinci Configurator会相应的更新,如2))
在这里插入图片描述
2)打开DaVinci Configurator,并更新。
在这里插入图片描述

点击同步,下图红框
在这里插入图片描述

3)检查NvM模块是否配置正确,/NvM/NvMBlockDescriptors/AppDiagDID_6666_ChunFengYouXin
修改Block长度为 4字节 (没有同步更新完全)
在这里插入图片描述

勾选use Service Ports,并同步更新
在这里插入图片描述

~

二、关联client/server接口

1. 关联

1) 将DCM模块的DID关联接口至应用层诊断SWC,关联成功之后,会在SWC中创建相应的函数接口
在这里插入图片描述

2)将NvM模块的DID关联接口至应用层诊断SWC
在这里插入图片描述

3)在SWC中建立DID的access point
打开DaVinci Developer,找到写的runable,并创建Access Points
在这里插入图片描述

点击保存DaVinci Developer。并回到DaVinci Configurator同步下。

2. 生成代码并验证

1)生成代码
在这里插入图片描述

2)打开代码,验证,接口是否生成成功。如下图

诊断22服务读DID 函数接口,当ECU收到诊断指令 22 66 66 时,就会进入该函数接口
在这里插入图片描述
诊断2E服务 写DID函数接口,当ECU收到诊断指令 2E 66 66 (FF FF FF FF ) 时,就会进入该函数接口。
在这里插入图片描述

总结

博主也是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于代码具体实现的博文再相会哈~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/715402.html

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

相关文章

【ARM】-SWI 和未定义指令异常中断处理程序的返回

文章目录 处理流程示例代码实现SWI未定义指令 附录源码 处理流程 SWI 和未定义指令异常中断是由当前执行的指令自身产生的,当 SWI 和未定义指令异常中断产生时,程序计数器的 PC 的值还未更新,它指向当前指令后面第 2 条指令(对于…

《安全软件开发框架(SSDF) 1.1:降低软件漏洞风险的建议》解读(一)

安全软件开发框架SSDF是由美国国家标准与技术研究院发布的关于安全软件开发的一组实践,帮助开发组织减少发布的软件中的漏洞数量,减少利用未检测到或未解决的漏洞的潜在影响,从根本上解决漏洞防止再次发生。本文根据《Secure Software Develo…

异步的终极方案Async-Await 和Generator

Async-Await 基本介绍 之前解决异步我们一直使用Promise的.then()方案,虽然解决了回调地狱的情况,但使用链式写法也并不特别优雅。比如看下面的代码。 所以就出现了一种号称异步的终极方案Async、Await。我们看他的定义 async 函数是使用async关键字…

手枪钻改台钻(3D打印)

所需工具: 1、3D模型打印; 2、手枪钻; 首先在SOLIDWORKS里面新建一个电钻夹的模型: 第二步导出“STL”文件: 第三步将"STL"文件导入到3D切片工具 Cura_15.02.1 里面进行切片: 第四步导出“g-…

显示器方案

概述: USB HUB连接Host与Device之间,可以扩展出多个USB设备接口,使得一个Host能同时与多个Device进行数据连接。 注:普遍而言,一颗HUB扩展芯片可扩展4个USB下行接口,市面上1 to 7的HUB,一般使用…

【Python实训项目】pygame制作【飞机大战】

目录 一、课程设计目的及应用背景 二、课程设计内容 三、课程设计代码实现 1. 创建子弹类 2.创建玩家飞机类 3. 创建敌机类 4.检查键盘输入 5.创建主模块 四、测试结果 五、思考、心得和改进以及不明白的问题 附录 所有代码如下: 一、课程设计目的及应用背景 根据课…

网联V2X视频事件检测相机使用说明书

1 产品概览 网联 V2X视频事件检测相机 视频事件检测相机 ,内置 1/1.8″逐行扫描 800万像素传感器;视 万像素传感器;视 频编码协议支持 H.265、H.264、MJPEG;具有 1个 10M/100M/1000M自适应以 太网 RJ45接口、 1路 RS485接口&#…

Bash中的eval命令

主要参考:What is the “eval” command in bash 简而言之,它让一个输入行被解析两次。 它是如何做到这一点的? shell有一系列步骤来解析一行命令。 shell读取它的输入shell将输入放入token:分为运算符和单词The shell parses the input i…

Boundary Smoothing for Named Entity Recognition

原文链接:https://aclanthology.org/2022.acl-long.490.pdf ACL 2022 介绍 问题 作者认为在命名实体任务中,由于实体的边界标注存在模糊、不一致的情况,比如一些实体中的冠词和修饰词。如下图所示中蓝色框和红色框中的内容都可以被认为是同一…

静态断言 static_assert

文章链接: https://subingwen.cn/cpp/static_assert/ 1. 断言 断言(assertion)是一种编程中常用的手段。在通常情况下,断言就是将一个返回值总是需要为真的判断表达式放在语句中,用于排除在设计的逻辑上不应该产生的情况。 比如…

NeurIPS 2022 | UniAD,一个模型解决所有类别的异常检测!代码已开源

paper:A Unified Model for Multi-class Anomaly Detection,Accepted by NeurIPS 2022. GitHub - zhiyuanyou/UniAD: [NeurIPS 2022] A Unified Model for Multi-class Anomaly Detection Introduction 异常检测已经取得了非常突出的进展。考虑到异常…

测试流程实战

目录: 测试流程梳理业务架构分析实战测试用例管理实战Bug 录入与管理实战如何写 Bug 报告编写 Bug 报告 1.测试流程梳理 2.业务架构分析实战 使用 plantuml 完成雪球 app 登录流程时序图plantuml 官网:使用简单的文字描述画UML图的开源工具。plantuml…

智云通CRM:电子元器件企业优化客户管理的智慧选择

在电子元器件行业,客户管理一直是企业发展的关键所在。如何高效地管理客户,提升销售业绩成为电子元器件企业亟需解决的问题。而智云通CRM作为一款专为企业客户管理和销售管理而生的软件,正成为电子元器件企业优化客户管理的智慧选择。 首先…

vue基础语法

目录 1:vue基础语法 2:内容渲染指令(操作标签体中的内容) 2.1:v-text指令 2.2:插值语法{{}}语法: 2.3:v-html指令 3:属性绑定指令 4:事件绑定&#xf…

我的大模型观:我眼中的LLM和AIGC

今年,大模型火的一塌糊涂。最近几个月paper with code上,前几名的论文几乎都是生成模型和LLM。参加AI相关的会议,也是千篇一律的LLM。国内的大厂争先恐后的发布自己的大模型,比如百度的文心、360的智脑、讯飞的星火等等&#xff0…

代码随想录算法训练营第三天 | 链表基础系列1-- 链表理论基础-移除链表元素-设计链表-反转链表(203、707、206)

链表基础系列1 链表基础移除链表元素203 移除链表元素代码随想录的代码 707 设计链表我的代码(错误太多,一致debug,没有用虚拟头,不想写了,是未通过的代码)代码随想录的代码小记:双链表好复杂,要仔细看。 2…

【狂神】MySQL - Delete 和 Truncate 的区别

1. DELETE 命令 语法 : delete from 表名 [where 条件] -- 删除数据 (避免这样写, 会全部删除) DELETE FROM student;-- 删除指定数据 DELETE FROM student WHERE id 1; 2. TRUNCATE 命令 作用 : 完全清空一个数据库表, 表的结构和索引约束不会变. -- 清空 stu…

【Linux】LVS+Keepalived高可用负载均衡群集

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LVSKeepalived高可用负载均衡群集 一、Keepalived实现原理1.Keepalived案例分析2.Keepalived工具介绍3,Keepalived实现原理剖析4.Keepalived案例讲解5.Keepalived…

自媒体新手如何从零开始做自媒体?有哪些步骤流程?

自媒体已经成为了一种非常流行的个人创业方式,相比于传统的创业方式,自媒体的投入成本较低,且门槛较低。许多人都有一个梦想,希望成为一个自媒体人,成为自己的老板。但是,对于很多自媒体小白来说&#xff0…

基于Springboot+mybatis+mysql+vue实现企业注册模块功能

基于Springbootmybatismysqlvue实现企业注册模块功能 一、系统介绍二、功能展示1.主页面2.注册成功 三、数据库四、代码展示四、其他系统实现五、获取源码 一、系统介绍 该系统实现简单的企业信息注册,保存后,提示注册成功。 运行环境:idea…