AUTOSAR DCM免费精品培训--DCM DSP处理诊断请求
扫描二维码
随时随地手机看文章
规范要求DCM 模块应该支持下表中列出的UDS服务,好吧,我们照做,先从诊断仪发送诊断请求,DCM处理这个请求处理来分析吧。
举个调用的例子:当测试仪发送诊断请求报文时,我方的路由单元从CanTp(物流小车)收到这个“诊断的报文”发送到PDUR这个分拣中心,PDUR路由这个快递到上海浦东辖区的快递小哥,快递小哥骑着小摩的送达这个快递,我们进行严格处理(经过DSL,DSD,DSP三道工序),处理后(诊断响应)再丢给那个测试仪。
其中[DCM221规范要求]DSD子模块为新接收的诊断服务标识符应搜索DSP子模块的可执行功能,并应调用相应的DSP服务处理子功能。通俗一点讲就是上一篇 AUTOSAR DCM 整理笔记(1) 提到:DSD子模块通过网络接收新的诊断请求并将其转发到数据处理器。
供代码里抽取下图配置数据:
下面给出代码分析:
DSD::F_搜索服务(服务号 SID)
{
/* 多路开关,根据服务号,扭转到对应的服务 */
switch (SID)
{
/* 公众号:糖果Autosar,微信:cloude2sunshine;您分享文章,截图,Autosar资料免费领*/
case 会话层服务:
DSP::F_诊断会话控制(MsgObj::(MsgID,MsgReqData,MsgRespData));
break;
case 22服务:
DSP::F_读DID服务();
break;
........
case default:
/* Trump:假消息,下一条 break*/
NRC_假消息();
break;
}
}
DSP::F_诊断会话控制(MsgObj::(MsgID,MsgReqData,MsgRespData))
{
/* 常规操作,检查入口参数的合理性 */
lResult = F_CheckInputParameterPalusibility(MsgObj::(MsgID,MsgReqData,MsgRespData));
/* 搜索相应的会话层列表 */
if(lResult == 没毛病)
{
/* 搜索配置列表,填充响应消息 */
PackRespDataFromYourConfiguration();
}
else
{
/* 返回错误参数,有没有必要寻找DET医生,取决于您 */
DET_Doctor:
}
}
辛苦创作,太累了,花费太多时间和时间了,就为了给您带来更多好看的文章!!请相信:坚持是一种信仰,专注是一种态度
欢迎支持原创,欢迎打赏点在看。
OS-Protection -Timing Protection
有很多读者给我留言,希望我做一个完整的AUTOSAR培训。我以后按照下面的目录系统地介绍Autosar各个模块.
详情加分享加微信cloud2sunshine免费领取Autosar资料大礼包。
AUTOSAR基础培训:
内容:1)AUTOSAR概述和目标 2)AUTOSAR简介 3)AUTOSAR应用层 4)AUTOSAR RTE(运行时环境) 5)AUTOSAR BSW(基本软件)6)AUTOSAR的方法论 7) AUTOSAR 的移植
AUTOSAR进阶培训:
1)操作系统 :>基本了解AUTOSAR操作系统的介质和机制>任务,警报,事件等>AUTOSAR OS可扩展性类别2)软件组件:>RTE >软件组件,端口,连接,任务映射和RTE生成的设计3) 输入和输出:>与I / O模块的数据交换>I/ O模块基础软件的配置 4)通信:>通过CAN进行数据交换>通讯模块的基础软件的配置 5)状态管理和系统服务: >ECU睡眠和唤醒和总线 > ComM,EcuM和BswM模块的作用>在基本软件中配置模式管理器模块6)总线系统 :>了解总线系统的概念差异以及配置的重要性> CAN,LIN,FlexRay,以太网的介绍 7)非易失性内存访问:>访问非易失性存储器>非易失性存储器访问的基本软件配置 8) 诊断:>使用AUTOSAR诊断 >配置诊断基本软件
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!