Autosar Com信号收不到排查-基于ETAS软件

文章目录

前言

大家可能在Autosar通讯开发过程中都遇到过报文信号收不到的情况,其中原因有很多,但排查起来有时没有头绪,本文以其中一个问题,梳理一下Com接收的信号链路,并对问题进行分析与处理

Com信号接收数据链

正常Com信号接收的数据链路如下(基于CAN中断):

问题排查

知道了正常的数据传递流程,调试起来就很简单了,发送对应的报文和UB位后,再各个函数打断点即可,此处我们从上层接收往下查,Rte_COMCBK函数打断点 ,确认进不去。在Com_Prv_InvokeRxNotifications 函数中打断点,发现可以进

但是再单步运行就进不到后面的逻辑了,说明Com_GetValue函数check返回无效,该函数是检测PDU中是否有任一signal配置了callback函数

排查到这里,问题已经比较明显了,说明Com中这个Signal没有配置callback函数,且这个Singal对应的PDU中的所有信号都没有配置callback

解决方案

在Com模块中对应的Singal配置COMCbk函数,需要以Rte_COMCbk_ + ComSignal名进行配置,示例如下:

配置完后生成BSW代码,发现除了生成了COMCbk外

还生成了ComPdu的一个Reception type

只有ComPdu的Notify_Cbk使能 之后,才能够进入Com Callback,调试时主要原因就是这个条件没满足

总结

按Com信号接收链路进行排查问题,就顺利多了,另外调试时发现该信号的Rte_COMCbk 函数在Rte.c中是有的,编译生成的map和elf中也有,但该函数实际未被使用。排查发现hightec编译器在一个文件中指定了段section,则该文件中的这个段里的函数,即使是未使用的函数,也是无法被优化删除的,这一点没有GHS做好,目前也没有找到好的优化方法

相关推荐
来可电子小仙女2 天前
复杂 CAN 总线组网,为什么需要智能隔离网桥?
can·硬件·can中继
来可电子小仙女2 天前
CANlog-VCI总线记录仪助力新能源汽车实车路试,破解偶发故障数据留存难题
汽车·can·硬件·记录仪
csdn_aspnet3 天前
C# 多个串口多个线程发送数据和接收数据
c#·串口·thread·com·serialport
车软派开发学长8 天前
车企研发的“整合与自研”之争,本质是一场生意
车载系统·汽车·can·autosar
赞哥哥s1 个月前
Autosar Dem学习笔记-DTC状态位详解与用法
autosar·dem·dtc
fanchenxinok1 个月前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(十):TOOMOSS_SID31_RoutineControl.vi — 例程控制
can·labview·uds升级·升级上位机·uds刷写
fanchenxinok1 个月前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(八):TOOMOSS_SID85_ControlDTCSetting.vi — DTC控制
can·labview·uds刷写·图莫斯
fanchenxinok1 个月前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(十一):LogManager.vi — 日志管理
can·labview·uds刷写·图莫斯
fanchenxinok1 个月前
基于图莫斯的CAN UDS升级上位机-LabVIEW版本(九):TOOMOSS_SID2E_WriteDataByID.vi — 写入数据
can·labview·uds刷写
叶修_A1 个月前
FS-17 功能安全ISO26262之敏捷开发融合深度解析
敏捷开发·autosar·汽车电子·功能安全·iso26262