0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从研发到测试SDV域控制器的调试日志

Vector维克多 来源:Vector维克多 2026-01-15 11:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

从研发到测试SDV域控制器的调试日志

在汽车软件复杂度不断攀升的今天,对不同核或分区上运行的复杂软件进行调试或追踪极具挑战性,并且在POSIX系统或车辆上的复杂软件进行分步调试往往更具挑战。所以,如何在SDV域控制器开发测试环境中,将应用程序、中间件和内核日志与时间戳等信息同步结合汇聚到同一个日志流,以便更好服务软件工厂或“黑灯”测试工厂,亦或为云端AI平台提供日志调试软件?AUTOSAR推出的组件DLT,其逻辑已从诊断日志追踪(DiagnosticLog andTrace)演变为更加宽泛意义的开发日志追踪(DevelopmentLog andTrace)。

436ee436-f05f-11f0-92de-92fbcf53809c.jpg

图1 面向SDV平台集成DLT调试日志

通常部分软件开发工程师有配置ECU的硬件调试环境,但其它工程师几乎没有配置“Debug”ECU问题的环境。DLT作为ECU软件的模块汇聚调试日志并追踪ECU内部问题,可以加速问题排查和解决。过往通过CANoe或CANoe Option AMD/XCP集成不同调试器或XCP获取软件状态,但是面向研发环境表现出广泛的多样性:

不同品牌调试器和调试器扩展模块

ECU平台多样性和电路连接多样性

不同软件配置环境的License

不同的构建设置(例如,软件工厂、HIL Farm)

43c30ed0-f05f-11f0-92de-92fbcf53809c.jpg

图2 CANoe Option AMD/XCP集成不同调试器或XCP获取日志

通过统一的DLT作为调试手段增加软件测试的灵活性和效果,允许根据严重性级别(例如“致命”、“错误”或“信息”)对调试信息进行过滤。该过滤器可以通过外部日志工具发送的DLT控制消息在运行时进行修改。还可以直接通知应用程序新的过滤级别,以便仅针对所选的严重性级别生成调试信息,运行时将消息分配到另一个通信总线上,或将修改后的DLT配置存储为NV存储(如果硬件支持的话)。开发与测试工程师使用CANoe Option AMD/XCP在支持CCP/XCP的同时,也可直接用其实现DLT数据进行在线采集或离线分析。

441c99c8-f05f-11f0-92de-92fbcf53809c.jpg

图3 CANoe Option AMD/XCP直接获取XCP或DLT日志

Part 1

DLT应用场景和协议概述

DLT是一个AUTOSAR基础软件模块。虽然DLT协议与总线无关,但建议使用高带宽总线,如以太网。尽管如此,DLT协议并不局限于以太网的使用,使得在没有调试器的情况下调试ECU成为可能,并允许用户在运行时进行配置。

使用DLT进行常规日志记录:

应用程序/软件组件向DLT模块提供日志消息

日志消息要么被过滤,要么由DLT模块创建DLT消息(取决于日志级别)

DLT模块将DLT消息发送到通信总线

外部客户端接收并存储DLT消息

447236da-f05f-11f0-92de-92fbcf53809c.jpg

图4 AUTOSAR DLT常规日志记录

中间件VFB日志:

中间件调用DLT模块提供的接口函数,该函数调用DLT API生成追踪消息

DLT模块将追踪消息发送到DLT通信模块接口

DLT通信模块将追踪消息转发到网络

外部客户端接收并存储追踪消息

44ca5e82-f05f-11f0-92de-92fbcf53809c.jpg

图5 中间件通过DLT记录日志

运行时配置DLT日志:

外部客户端设置日志和追踪级别,并将更改发送至DLT模块

通过DLT控制消息将更改发送到DLT模块

DLT模块相应地调整其过滤设置的配置

DLT模块通知应用程序新的日志级别

451fc32c-f05f-11f0-92de-92fbcf53809c.jpg

图6 运行时配置DLT日志

非冗长模式(Non-verbose)传输日志:使用外部解析文件的方式来高效解析有效数据载荷,从而避免在通信总线上发送关于变量的元素数据,达到节省总线通信开销的目的。外部DLT客户端将这些元数据与接收到的参数值合并存储。

应用程序/软件组件向DLT模块提供Non-verbose的日志数据

DLT模块过滤并生成DLT消息

DLT模块将DLT消息发送到通信总线

外部客户端从外部文件中获取元信息

合并的信息由外部客户端存储

457856a4-f05f-11f0-92de-92fbcf53809c.jpg

图7 Non-verbose模式日志

DLT协议是一种高层协议,与具体使用哪种总线无关。AUTOSAR规范中的DLT协议目前定义了v1和v2两个版本,并在Log and Trace Protocol Specification中随AUTOSAR各个Release逐步演进和规范化,例如在AUTOSAR FO R19-11及后续R24-11(PRS)中对相关能力进行了完善和扩展。在AUTOSAR发布的早期阶段(约2010年前后),Vector在ECU软件与工具链中对日志与追踪机制进行了大量工程实践,用于开发调试和问题分析,并随着AUTOSAR 规范的演进持续支持和实现DLT协议,最终发展到当前广泛使用的v2版本。

DLT v1版本包头简单、报文开销小,因而在带宽受限或资源受限的ECU上能够实现低成本部署。

45cd8e8a-f05f-11f0-92de-92fbcf53809c.jpg

图8 DLT v1版本标准报头

4625ef76-f05f-11f0-92de-92fbcf53809c.jpg

图9 DLT v1版本扩展报头

DLT v2支持可变长度ID(动态ID)、高精度时间戳、分段传输(即报文超过单帧长度可切分并重组),更适合大载荷的场景。

467a5d86-f05f-11f0-92de-92fbcf53809c.jpg

图10 DLT v2版本标准报头

46e070e4-f05f-11f0-92de-92fbcf53809c.jpg

图11 DLT v2版本扩展报头

协议中还定义了两种模式,分别是Verbose和Non-verbose模式,两种模式在日志消息的严重性等级均提供:FATAL、ERROR、WARNING、INFO、DEBUG和VERBOSE。两种模式的区别为:

Verbose模式:发送包含所有参数/文本的完整消息,便于阅读与分析,但会消耗更多带宽。

Non-verbose模式:可发送更紧凑的消息(例如仅发送参数或ID),消息结构可以通过FIBEX或ARXML数据库文件解析,适合在带宽受限场景降低开销。

Part 2

日志追踪“利器”

– 带有DLT功能的CANoe Option AMD/XCP

通过收集日志信息来验证ECU的正确功能,捕获ECU的追踪数据确保状态流的正确变化,检测ECU是否报告了错误(例如,配置错误或基础软件BSW错误),验证从ECU生成的事件顺序是否正确。针对如上需求,ECU需要集成对应的DLT软件模块:

基于XCP的DLT集成:现有XCP协议栈上只需将DLT API调用添加到定义事件中,配置中启用相关功能则DET和DEM事件将自动传输,DEM事件支持按需过滤。

基于AUTOSAR的DLT集成:作为XCP DLT的替代方案,允许API更改DLT的日志级别,满足整车厂集成DLT的功能要求。根据AUTOSAR日志定义控制日志级别(致命、错误、警告、调试、信息、详细),将所有日志和追踪聚集到集中式AUTOSAR服务组件中,基于软件的时间信息、多核和分区日志。如AUTOSAR AP中ara::log提供每个阶段的日志信息API,日志通过配置发送到特定日志接收器,若需要可通过DLT实现远程调试。

CANoe Option AMD/XCP支持在开发与调试过程中加载A2L文件到CANoe中,并支持DaVinci工具在配置协议栈时可额外配置测量代码,直接生成测试代码用于CPU负载、任务执行等信息用于后续自动化验证。

4736764c-f05f-11f0-92de-92fbcf53809c.jpg

图12 CANoe支持A2L集成用于DLT与运行测量

CANoe支持在线和离线分析DLT数据,可通过总线接口卡连接真实ECU获取调试日志,对虚拟机如WSL中的vECU可通过集成SIL Kit来获取调试日志。

478e88b4-f05f-11f0-92de-92fbcf53809c.jpg

图13 真实ECU或虚拟ECU可通过CANoe实现DLT调试日志

CANoe支持Non-verbose和Verbose两种模式,支持一键生成对应FIBEX中变量到CANoe工程,也可在配置工程节点后导入对应变量。

47e4f550-f05f-11f0-92de-92fbcf53809c.jpg

图14 CANoe中DLT配置流程

对于Non-verbose模式消息的解析,插件根据FIBEX文件自动生成的变量,DLT变量紧随每帧Ethernet Packet,直接被解析并显示在Trace窗口,并可在Graphics窗口中以动态曲线方式显示DLT日志信息。

484055e4-f05f-11f0-92de-92fbcf53809c.jpg

图15 CANoe解析Non-verbose模式日志

对于Verbose模式消息的解析,具体的Payload会直接被解析成结构体,并在Trace窗口显示。

489b66a0-f05f-11f0-92de-92fbcf53809c.jpg

图16 CANoe解析Verbose模式日志

同时CANoe支持发送DLT Control Message,如Set Log Level命令。

48fcbc98-f05f-11f0-92de-92fbcf53809c.jpg

图17 使用CANoe发送DLT Control Message

Part 3

总结和展望

SDV发展迭代必然需要更丰富的调试手段。AUTOSAR DLT作为调试器之外的另一种获取调试日志的方式,将更好服务车辆开发各环节。CANoe Option AMD/XCP配合DLT功能提供更加全面的功能,在获取CCP/XCP数据日志信息的同时,助力工程师更好地通过DLT分析和调试ECU。当然在车辆生产时,DLT应当关闭以满足网络安全需求。DLT技术也在迭代,CANoe也将更好支持“软调试”技术,进一步提升便利性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AUTOSAR
    +关注

    关注

    11

    文章

    405

    浏览量

    23751
  • 日志
    +关注

    关注

    0

    文章

    148

    浏览量

    11092
  • SDV
    SDV
    +关注

    关注

    0

    文章

    98

    浏览量

    7589

原文标题:SDV域控器日志追踪与解析技术 – DLT

文章出处:【微信号:VectorChina,微信公众号:Vector维克多】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SDV域控日志追踪与解析技术 – DLT

    研发到测试SDV域控制器调试日志在汽车软件复杂度
    的头像 发表于 01-21 10:04 2005次阅读
    <b class='flag-5'>SDV</b>域控<b class='flag-5'>器</b><b class='flag-5'>日志</b>追踪与解析技术 – DLT

    域控制器升级的一种测试方案介绍#SOA#域控制器升级#OTA

    测试测量域控制器
    北汇信息POLELINK
    发布于 :2023年01月20日 14:59:38

    域控制器的5个角色主机类型与作用

    AD中5个角色主机类型与作用。架构主机,域命名主机 defult由林根域内的第一台域控制器扮演而每一个域拥有自己的RID主机,PDC模拟主机和基础结构主机这三个角色defult由该域内的第一台域控制器扮演
    发表于 07-15 07:15

    重置域控制器管理员密码的几个步骤分析

    我们在日常AD管理维护中,可能会碰到域控制器管理员密码忘记的情况,有一些软件可以破解,原理是删除sam文件,但我们知道域控制器的密码是存放在AD数据库中的,域控制器也是没有本地管理员账户这个概念的,所以删除sam文件的方法行不通
    发表于 07-15 06:43

    【HarmonyOS HiSpark AI Camera】域控制器预言开发

    项目名称:域控制器预言开发试用计划:1.基于开发板调试摄像头输入,显示屏输出链路,熟悉视频流采集输出。2.熟悉鸿蒙OS3.在公司的RCAR平台上测试鸿蒙OS
    发表于 11-23 15:06

    车身域控制器的原理是什么呢

    车身域控制器原理图如下:这是一个顶灯输出模块域控制器的原理图,电路的组成和是由控制芯片决定的,这里用到的是ST公司的VNL5050N3芯片,在
    发表于 02-14 07:05

    基于Zigbee的路灯区域控制器设计

    基于Zigbee的路灯区域控制器设计...
    发表于 01-04 15:26 33次下载

    新能源汽车中车身域控制器自动化的测试方案

    域控制器测试特点和问题,意昂神州结合多年的测试平台搭建经验,提供通用可靠的车身域自动化测试系统。并基于意昂神州丰富的测试案例,提供高覆盖率
    发表于 07-23 15:00 3011次阅读

    什么是域控制器域控制器市场概述

    域控制器是汽车每一个功能域的核心,它主要由域主控处理、操作系统和应用软件及算法等三部分组成。
    发表于 11-30 09:25 3998次阅读

    什么是域控制器?OEM为什么要转向域控制器

    随着诱人的用户体验、电气化和汽车ADAS功能的出现,车辆架构正强烈朝向域控制器发展。
    发表于 05-04 17:45 2048次阅读
    什么是<b class='flag-5'>域控制器</b>?OEM为什么要转向<b class='flag-5'>域控制器</b>?

    域控制器是什么 域控制器介绍

    什么是域控制器域控制器的概念最早由以博世、大陆为首的Tier1提出,它的出现是为了解决信息安全以及ECU瓶颈的问题。域控制器因为有强大的硬件计算能力与丰富的软件接口支持,使得更多
    的头像 发表于 07-25 17:51 6719次阅读
    <b class='flag-5'>域控制器</b>是什么 <b class='flag-5'>域控制器</b>介绍

    域控制器上AUTOSAR AP的优势和挑战

    汽车E/E体系结构由分布式向集中式发展域控制器,部署AUTOSAR AP的优势和挑战域控制器、部署AUTOSAR AP的优势和挑战域控制器
    发表于 08-11 10:47 1004次阅读
    <b class='flag-5'>域控制器</b>上AUTOSAR AP的优势和挑战

    动力域控制器的功能和测试项目

    动力域控,顾名思义就是动力相关的域控制器,对于纯电车而言,包括电池管理、电机控制器、空调控制器、DCDC等等,下面是比亚迪的动力域控制器
    的头像 发表于 10-23 14:26 4314次阅读
    动力<b class='flag-5'>域控制器</b>的功能和<b class='flag-5'>测试</b>项目

    数明半导体参与起草车身域控制器测试方法团体标准

    近日,根据《团体标准管理规定》的相关要求,深圳自动化学会组织召开了《车身域控制器场效应管负载能力试验方法(送审稿)》、《车身域控制器通用功率驱动装置测试规程(送审稿)》两项团体标准审定会。
    的头像 发表于 11-14 10:52 1511次阅读

    汽车域控制器通讯测试主板选型指南:破解多协议测试核心难题

    随着汽车电子架构向域集中式加速演进,域控制器作为整车电子系统的“神经中枢”,其通讯可靠性直接决定了智能网联汽车的安全与性能。在域控制器研发与验证过程中,通讯测试环节面临着多协议并存、高
    的头像 发表于 01-23 17:15 727次阅读