主页 > 游戏开发  > 

CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)

CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)
🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe,博客目录大全,点击跳转👉

目录 📙 流程概述📙 UDS指令详解🍅 编程前(PreProgramming)步骤1:进入拓展会话(10 83)步骤2:会话保持(3E 80)步骤3:编程前条件预检查(31 01 02 03)(可选)步骤4:禁用 DTC功能(85 82 FF FF FF)步骤5:停止通讯报文(28 81 03)🍅 编程过程(MainProgramming)步骤6:进入Boot(10 02)步骤7:Boot下的安全解锁(27 xx)步骤8:写入指纹信息(2E F1 5A 01 01 01 01 02 03 04 05 06 07 08 09)(可选)步骤9:刷写Driver文件步骤10:完整性检查(31 01 02 02)步骤11:擦除APP文件的内存(31 01 FF 00 44 01 00 00 00 00 3C 00 00 )步骤12:刷写APP文件步骤13:APP文件完整性检查(31 01 02 02)步骤14:最后全部文件下载完毕后,进行编程依赖性检查(31 01 FF 01)步骤15:硬件重启(11 01)🍅 编程后(PostProgramming)步骤16:进入拓展会话(10 03)步骤17:使能通讯(28 80 03)步骤17:解除DTC控制(85 81 FF FF FF) 🌎总结


📙 流程概述 网上找了张图,基本描述了刷写的流程 我也截图了Vflash 刷写的一个过程图,辅佐理解


📙 UDS指令详解 🍅 编程前(PreProgramming) 步骤1:进入拓展会话(10 83) 这没什么好说的,因为下面的服务不支持默认会话功能寻址,没响应
步骤2:会话保持(3E 80) 开启ECU的会话保持,因为我们知道有个S3 Server 的时间一般是5000ms ,如果没有开启会话保持,5000m后ECU就会切回默认会话。而我们刷写要保持在Boot下的。功能寻址,没响应


步骤3:编程前条件预检查(31 01 02 03)(可选) 编程前条件预检查,检查待测ECU的自身条件是否满足刷写,一般情况下会检查电压是否正常,车速信号是否接收到且<3km/s,不同的Tier1/OEM可能有不同的检查条件。物理寻址
步骤4:禁用 DTC功能(85 82 FF FF FF) 禁止ECU产生各种DTC.功能寻址,没响应
步骤5:停止通讯报文(28 81 03) 停止通讯报文.,降低总线负载。01 表示 enableRxAndDisableTx03表示停掉APP和网络报文都停掉功能寻址,没响应

🍅 编程过程(MainProgramming)
步骤6:进入Boot(10 02) 物理寻址


步骤7:Boot下的安全解锁(27 xx) 物理寻址


步骤8:写入指纹信息(2E F1 5A 01 01 01 01 02 03 04 05 06 07 08 09)(可选) 写入指纹可能不太好理解,就是在4S店刷件的时候,写入年月日信息和4S店的编码物理寻址
步骤9:刷写Driver文件

刷写引导文件 UDS 14229 -1 刷写34,36,37服务简介

和刷写APP文件的不同之处,Driver文件一般很小,且无需刷写前擦除内存。


步骤10:完整性检查(31 01 02 02) 文件刷写完,要进行完整性校验前些年ECU的校验方式多是CRC的,近几年看到的都是RSA文件验签的。如果时CRC,可能发送的指令是 31 01 02 02 + 3个字节的校验码如果是RSA,则 31 01 02 02 + 128/256字节的校验码
步骤11:擦除APP文件的内存(31 01 FF 00 44 01 00 00 00 00 3C 00 00 ) 再刷写非Flash文件时,需要先执行擦除内存的操作注意,一般情况,ECU要擦很久,对这个指令的响应就比较久。10秒到300多秒我都遇到过,这取决于擦除地址的大小。
步骤12:刷写APP文件

app的地址有可能是不连续的

地址不连续的情况

地址连续的情况,就一个Block块

如果地址不连续那么刷写的过程的逻辑就是这样的,涉及到多次34地址和长度的请求了。 for(i=0;i<BlockNumber;i++) { 34 00 44 52 80 90 00 00 00 16 00 36 01 xx xx 36 02 xx xx .... 37 } 步骤13:APP文件完整性检查(31 01 02 02) 同 步骤10 步骤14:最后全部文件下载完毕后,进行编程依赖性检查(31 01 FF 01) 最后全部文件下载完毕后,进行编程依赖性检查(31 01 FF 01)

步骤15:硬件重启(11 01) 全部检查都通过后,硬件重启,进入APP模式下 🍅 编程后(PostProgramming) 步骤16:进入拓展会话(10 03) 步骤17:使能通讯(28 80 03) 步骤17:解除DTC控制(85 81 FF FF FF)

🌎总结

虽然Flash刷写流程是个业内常规的流程,但是只给一张流程图,对于刚入门的同学,理解还是有障碍的,希望我加了一些辅助的资料能够帮助大家理解。 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡! 🚩如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
标签:

CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)