[.闲于修.]Autosar_UDS_笔记篇_ISO14229-1
前言:闲来无事,摸鱼无趣,准备细读一下14229,记录一些容易被忽略掉的内容
正文:(以下数字代表章节)
7、Application layer protocol
7.5.6 多个并发请求消息
常见的服务器实现在服务器中只有一个诊断协议实例可用,一个诊断协议实例一次只能处理一个请求。 规则是任何收到的消息(不管寻址模式是物理的还是功能的)都会占用这个资源,直到处理请求消息为止(发送最终响应或没有响应的应用程序调用)。
有两个例外情况: 1、功能寻址的3E 80(这里强调了必须是功能寻址,且SPRMIB = TRUE),旁路逻辑处理; 2、“legislated diagnostic requests” 法定诊断请求,这里提到,如果此时是非法定服务处于活动状态时,收到其中一个请求,则应中止现用服务,启动默认会话并启动法定诊断服务将被处理。 如果编程会话处于活动状态,则此要求不适用。
9、Diagnostic and Communication Management functional unit
9.2 0x10服务
9.2 .1
应保持新会话中支持并且不依赖安全访问的所有其他活动诊断功能。 例如,任何已配置的周期性调度程序在从一个非defaultSession转换到另一个或同一个非DefaultSession时应保持活动状态,并且不会影响CommunicationControl和ControlDTCSetting服务的状态,这意味着正常通信应保持禁用状态在会话切换的时间点禁用。
当服务器从默认会话以外的任何诊断会话转换到defaultSession时,任何其他在defaultSession中不支持的活动诊断功能都将被终止。例如,任何已配置的周期性调度程序或输出控制应被禁用,并且CommunicationControl和ControlDTCSetting服务的状态应被重置,这意味着正常通信在会话切换到时被禁用时应重新启用defaultSession。
【注:简单举例就是03会话转换到03会话或其他非默认会话,不影响28,85服务已运行的状态;03会话转换到01会话,状态需重置;】
9.4 0x27服务
9.4.2.2 请求消息子函数参数$ Level(LEV_)定义
子函数参数securityAccessType向服务器指示该服务正在进行的步骤,客户端要访问的安全级别以及种子和密钥的格式。 如果服务器支持不同级别的安全性,则每个级别应由requestSeed值标识,该值与sendKey值具有固定关系:
— “requestSeed = 0x01”标识“requestSeed = 0x01”和“sendKey = 0x02”之间的固定关系
— “requestSeed = 0x03”标识“requestSeed = 0x03”和“sendKey = 0x04”之间的固定关系
【注:只能说对制作DLL文件是有用的】