关键词
嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic
平台说明
项目 | Value |
---|---|
OS | autosar OS |
autosar厂商 | vector |
芯片厂商 | 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】 |
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
缩写 | 描述 |
---|---|
DEM | Diagnostic Event Manager |
DET | Development Error Tracer |
DDM | Diagnostic Data Modifier |
DCM | Diagnostic Communication Manager |
LSB | least significant byte |
MSB | most significant byte |
背景
RoutineControl (0x31) service作为最基础的诊断服务,主要用于让用户端去执行某个routine,说人话就是去执行某一个复杂或者简单的的操作,例如:bankswitch,内存操作相关,标定相关,某些自定义的过程控制,甚至可以用于打开车窗,遮阳帘等等。
我们可以通过inputOutputControlByIdentifier 去控制这个routine 开始,停止,获取结果。
一、请求格式
根据ISO 14229 -1 标准如下图所示:请求格式为:
至少需要1个SID + SubFunction + RID Parameter
二、sub-function definition
sub-function definition由1个byte组成,代表的意思请参考ISO_14229_1 Table 379 — Request message sub-function definition
三、响应格式
正响应:
即 0x71 + SubFunction + RID Parameter
否定响应:
四、NRC
优先级如下:
例如当请求执行一个routine 的时候,,这个routine 应该在在 external session 下才能执行并且 Parameter 应该为两个字节,但只发出了一个字节的Parameter ,并且在default session 下,这个时候就首先报NRC 0x13,不报NRC 0x31 。
五、case
用02 01 执行打开车灯的操作,parameter 01 为开,00为关。
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<