本文框架
- 前言
- 1.问题描述
- 2.问题复现
- 3.问题分析
- 问题1:为何在2E Pending期间会发送功能寻址的10 01回NRC13?
- 问题2:在ECU Pending期间收到功能寻址10 01,MCU需要如何处理?
- 问题3:DcmDslConnection是如何定义的?
- 问题4:功能寻址于物理寻址是否对应不同的DcmDslConnection?
- 问题5:对于功能寻址的请求是否有特殊处理?
- 问题6:实际实现与规范偏差原因?
- 4.问题总结
前言
在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意事项,诊断与BswM/NvM关联模块的应用开发及诊断capl测试脚本开发等诊断相关实战内容。
Autosar诊断实战导读快速链接:Autosar诊断实战系列导读
Autosar全模块实战专栏快速链接:AutoSar实战进阶系列导读
本篇我们一起来看一个工程问题,在项目开发期间对诊断进行压力测试,通过0x2E执行DID写操作时,ECU先回复NRC 0x78,在此期间如果上位机又发送了功能寻址10 01则会偶发回复NRC 0x13报请求报文长度或格式不匹配的NRC,现象奇怪值得探讨分析。
1.问题描述
如文章开始描述,在0x2E对ECU的DID进行写操作时,ECU先回复NRC 0x78,在此期间如果发送功能寻址10 01则会偶发回复NRC 0x13报请求报文长度或格式不匹配的NRC。
2.问题复现
根据问题反馈,复现2E写操作及发送功能寻址的10 01请求。
首先针对在2E写DID期间回复NRC 0x78,涉及到NvM的处理