[AutoSar]BSW_Diagnostic_004 ReadDataByIdentifier(0x22)的配置和实现

目录

  • 关键词
  • 平台说明
  • 背景
  • 一、配置DcmDspDataInfos
  • 二、配置DcmDspDatas
  • 三、创建DcmDspDidInfos
  • 四、创建DcmDspDids
  • 五、总览
  • 六、创建一个ASWC
  • 七、mapping DCM port
  • 八、打开davinci developer,创建runnabl
  • 九、生成代码

  

关键词

嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic

平台说明

项目Value
OSautosar OS
autosar厂商vector , EB
芯片厂商TI 英飞凌
编程语言C,C++
编译器HighTec (GCC)
autosar版本4.3.1
参考文档TechnicalReference_Dcm.pdf AUTOSAR_SRS_DiagnosticLogAndTrace.pdf AUTOSAR_SWS_DiagnosticCommunicationManager.pdf AUTOSAR_SWS_DiagnosticEventManager.pdf AUTOSAR_SWS_FunctionInhibitionManager.pdf- 【14229-1.2.3】,【15765-1.2.3.4】. 【11898】

在这里插入图片描述
  
  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  
  

缩写描述
DEMDiagnostic Event Manager
DETDevelopment Error Tracer
DDMDiagnostic Data Modifier
DCMDiagnostic Communication Manager
LSBleast significant byte
MSBmost significant byte

背景

  项目已经导入过CDD文件,有基础的的DSD,DSL,DSP配置。 可以通过编写CDD文件实现本文的功能,这里将手动配置。
  以0XF1 90 为例。

一、配置DcmDspDataInfos

  
在这里插入图片描述

二、配置DcmDspDatas

  
在这里插入图片描述

三、创建DcmDspDidInfos

  
在这里插入图片描述

四、创建DcmDspDids

  
在这里插入图片描述
在这里插入图片描述

五、总览

  可在左侧功能栏快捷窗口 Daignostatics中总览。

在这里插入图片描述

六、创建一个ASWC

  在davinci developer中创建一个ASWC 用于所有诊断相关的服务操作。这里创建CtDiagHandler,保存同步到CFG中,然后关闭davinci developer软件

在这里插入图片描述

七、mapping DCM port

  
在这里插入图片描述

八、打开davinci developer,创建runnabl

  
在这里插入图片描述

在这里插入图片描述

九、生成代码

  在Dcm_Lcfg.c中:

,{ ((Dcm_DidMgrOpFuncType)(Rte_Call_DataServices_Data_F190_VehicleIdentificationNumber_ReadData)),  17u,  17u,0x0002u} /* DID: 0xF190 */           /* PRQA S 0313 */ /* MD_Dcm_0313 */

  在Rte_Dcm.h中:

#  define Rte_Call_DataServices_Data_F190_VehicleIdentificationNumber_ReadData DataServices_Data_F190_VehicleIdentificationNumber_ReadData

  在CtDiagHandler.c中:

FUNC(Std_ReturnType, CtDiagHandler_CODE) DataServices_Data_F190_VehicleIdentificationNumber_ReadData(Dcm_OpStatusType OpStatus, P2VAR(uint8, AUTOMATIC, RTE_CTDIAGHANDLER_APPL_VAR) Data) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */
{
/*********************************************************************************************************************** DO NOT CHANGE THIS COMMENT!           << Start of runnable implementation >>             DO NOT CHANGE THIS COMMENT!* Symbol: DataServices_Data_F190_VehicleIdentificationNumber_ReadData (returns application error)*********************************************************************************************************************/Std_ReturnType ret = E_NOT_OK;uint8 VIN_number = 17U;uint8 i;// Read default valuefor (i = 0; i < VIN_number ; i++){Data[i] = 0x00; }return RTE_E_OK;/*********************************************************************************************************************** DO NOT CHANGE THIS COMMENT!           << End of runnable implementation >>               DO NOT CHANGE THIS COMMENT!*********************************************************************************************************************/
}

  
  
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  
  

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

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

相关文章

系统和功能测试:确保软件的功能和易用性

目录 概述 功能测试 LOSED 模型 用例的设计 等价类划分 边界值分析 循环结构测试的综合方法 因果图 决策表 功能图 正交实验设计 易用性测试 内部易用性测试 外部易用性测试 功能性测试 正向功能性测试 负向功能性测试 功能性测试工具 结语 概述 在软件开发…

课堂练习——路由策略

需求&#xff1a;将1.1.1.0/24网段重发布到网络中&#xff0c;不允许出现次优路径&#xff0c;实现全网可达。 在R1上重发布1.1.1.0/24网段&#xff0c;但是需要过滤192.168.12.0/24和192.168.13.0/24在R2和R3上执行双向重发布 因为R1引入的域外路由信息的优先级为150&#xff…

8.微服务项目结合SpringSecurity项目结构

项目结构 acl_parent:创建父工程用来管理依赖版本 common service_base&#xff1a;工具类 spring_security: Spring Security相关配置 infrastructure api_gateway: 网关 service service_acl: 实现权限管理功能代码 acl_parent的pom.xml <?xml version"1.0" …

Go 之 interface接口理解

go语言并没有面向对象的相关概念&#xff0c;go语言提到的接口和java、c等语言提到的接口不同&#xff0c;它不会显示的说明实现了接口&#xff0c;没有继承、子类、implements关键词。go语言通过隐性的方式实现了接口功能&#xff0c;相对比较灵活。 interface是go语言的一大…

系统和非功能性测试:全面提升软件的性能和可靠性

目录 非功能性测试的需求 负载测试、压力测试和性能测试的概念 负载测试 压力测试 性能测试 负载测试 性能测试 压力测试 性能测试工具 兼容性测试 安全性测试 容错性测试 可靠性测试 结语 在软件开发中&#xff0c;系统测试和非功能性测试是确保软件质量的关键环…

vue组件循环依赖

1、两个组件相互引用导致的报错&#xff0c;代码如下&#xff1a; <!-- Component A --> <template><div>{{ message }}<B /></div> </template><script> import B from ./B.vue;export default {components: { B },data() {return…

STM32 | STC-USB驱动安装Windows 10(64 位)

Windows 10&#xff08;64 位&#xff09;安装方法 由于 Windows10 64 位操作系统在默认状态下&#xff0c;对于没有数字签名的驱动程序是不能安装成功的。所以在安装 STC-USB 驱动前&#xff0c;需要按照如下步骤&#xff0c;暂时跳过数字签名&#xff0c;即可顺利安装成功。…

Transformers中加载预训练模型的过程剖析(二)

接着 Transformers中加载预训练模型的过程剖析(一) 来讲模型初始和载入预训练权重。 初始化模型 经过以上两个步骤,对于下载的 shibing624/text2vec-base-chinese-paraphrase 预训练模型(底层的模型是ernie),我们从代码 model = AutoModel.from_pretrained(model_path) 成功…

镜像制作过程

镜像制作过程 Centos镜像制作 虚拟机系统安装将网卡转换为eth0在install安装时按tab健加入一下配置 net.ifnames=0 biosdevname=0

Flask-Login 实现用户认证

Flask-Login 实现用户认证 Flask-Login 是什么 Flask-Login 是 Flask 中的一个第三方库&#xff0c;用于处理用户认证和管理用户会话&#xff0c;它提供了一组工具和功能&#xff0c;使得在 Flask 应用程序中实现用户认证变得更加简单和方便。 如何使用 Flask-Login 1.安装…

XYCTF - web

目录 warm up ezMake ezhttp ezmd5 牢牢记住&#xff0c;逝者为大 ezPOP 我是一个复读机 ezSerialize 第一关 第二关 第三关 第一种方法&#xff1a; 第二种方法&#xff1a; ez?Make 方法一&#xff1a;利用反弹shell 方法二&#xff1a;通过进制编码绕过 ε…

使用迭代器进行遍历时不能进行元素的任何修改

记录一下 使用迭代器进行遍历时不能进行元素的任何修改 ArrayList<String> list new ArrayList<>();list.add("一");list.add("二");list.add("光");list.add("华"); // 遍历器Iterator<String> iterator …

57.什么是声明式UI开发

什么是声明式UI开发 在传统的命令式UI开发中&#xff0c;开发人员需要编写大量的代码来描述界面的外观和行为。这些代码通常包括繁琐的布局设置、手动管理UI组件的状态和事件处理逻辑。这种方式容易引发bug&#xff0c;而且代码复杂&#xff0c;不易维护。 与之相反&#xff0…

1081:分苹果

1081&#xff1a;分苹果 时间限制: 1000 ms 内存限制: 65536 KB 提交数:65448 通过数: 54401 【题目描述】 把一堆苹果分给n个小朋友&#xff0c;要使每个人都能拿到苹果&#xff0c;而且每个人拿到的苹果数都不同的话&#xff0c;这堆苹果至少应该有多少个&#x…

【C++】用C++实现一个日期计算器

欢迎来到CILMY23的博客 本篇主题为&#xff1a; 用C实现一个日期计算器 个人主页&#xff1a;CILMY23-CSDN博客 系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux 感谢观看&#xff0c;支持的可以给个一键三连&#xff0c;点赞关注收藏。 写在…

【数据结构】环状链表OJ题

✨✨✨专栏&#xff1a;数据结构 &#x1f9d1;‍&#x1f393;个人主页&#xff1a;SWsunlight 一、OJ 环形链表&#xff1a; 快慢指针即可解决问题: 2情况&#xff1a; 快指针走到结尾&#xff08;不是环&#xff09;快指针和尾指针相遇&#xff08;是环的&#xff09; …

【工程师的自我修养】学会学习

一、为什么要学习 九年义务教育的学习是为了高考考上好大学&#xff0c;大学的学习是为了顺利毕业找到好工作。但找到工作后&#xff0c;大部分人已经不再主动学习了&#xff0c;只有工作中的被动学习。所谓逆水行舟、不进则退&#xff0c;虽然对于你个人来说还是会缓慢进步的&…

(CVE-2012-1823)PHP-CGI远程代码执行漏洞(80端口)

&#xff08;CVE-2012-1823&#xff09;PHP-CGI远程代码执行漏洞&#xff08;80端口&#xff09; 一、介绍二、漏洞影响三、原理四、漏洞复现 一、介绍 php-cgi是一个类似于消息的“传递者”&#xff0c;它接收web容器收到的http数据包&#xff0c;并把里面的数据交给PHP解释器…

清华发布Temporal Scaling Law,解释时间尺度对大模型表现的影响

众所周知&#xff0c; 语言模型调参&#xff01; 预训练语言模型调参&#xff01;&#xff01; 预训练大语言模型调参&#xff01;&#xff01;&#xff01; 简直就是一个指数级递增令人炸毛的事情&#xff0c;小编也常常在做梦&#xff0c;要是只训练几步就知道现在的超参…

python选修课期末考试复习

目录 记住输出小数的格式文件条件判断随想循环小星星计算金额猜数字折纸 函数找最大值 基础知识总结 记住输出小数的格式 输出a&#xff0c;保留两位小数 %.2f%a打开文件有点儿难&#xff0c;多记几遍格式吧 文件的格式后面有冒号&#xff0c;谨慎一点&#xff0c;都用双引号…