网易首页 > 网易号 > 正文 申请入驻

ECU刷写流程之压缩刷写技术解析

0
分享至



背景

在现代汽车电子技术中,ECU(电子控制单元)的软件升级是一项关键任务。为了提高数据传输的效率和安全性,压缩刷写技术应运而生。通过数据压缩传输,我们可以有效地增加带宽利用率,减少刷写工具与ECU之间的数据传输量,从而显著缩短ECU升级时间。此外,为了加强数据的安全性和保密性,数据传输还可以进行加密处理。在ISO14229-1规范中,请求下载服务(SID=0x34)和请求文件传输服务(0x38)定义了数据可以基于压缩和加密的方式进行传输。本文以请求下载服务为例重点介绍数据压缩部分。

1.ISO14229-1:2020规范中定义请求下载服务(0x34)的请求报文格式



根据ISO14229-1:2020规范,请求下载服务(0x34)允许数据通过压缩和加密的方式进行传输。在该服务的请求报文格式中,”dataFormatIdentifier“是一个关键的参数,大小为1个字节,其中高四位(bit4-bit7)为参数”compressionMethod“,定义数据是否需要压缩, 其中低四位(bit0-bit3)为参数”encryptingMethod“,定义数据是否需要加密。若下载的数据既不需要压缩也不需要加密,则该参数值为0x00,若使用非0x00的值,则表示下载数据需要进行压缩、加密,或二者兼有。如”dataFormatIdentifier“此值为0x10,表示下载数据需要压缩不需要加密,如”dataFormatIdentifier“此值为0x11,表示下载数据需要压缩也需要加密。

值得注意的是,下载数据的压缩与加密需求并不影响参数”addressAndLengthFormatIdentifier

“和”memoryAddress“,但会影响”memorySize“参数,该参数定义了需要刷写数据的大小,这个大小将与通过TransferData(0x36)服务传输的数据大小进行比较。

当下载的数据是压缩数据时,由OEM来定义”memorySize“代表的是压缩数据的大小还是压缩前数据的大小。不同的定义对于刷写流程的实现代码也不相同。

若”memorySize“代表压缩数据的大小,那么当TransferData(0x36)服务将压缩数据传输完成后,ECU将根据“memorySize”参数来判断数据是否下载完成,ECU会比较传输的压缩数据与”memorySize“参数定义的数据大小是否一致,并相应地发送肯定或否定响应。

若”memorySize“代表非压缩数据的大小,那么TransferData(0x36)服务传输的压缩数据大小一般小于”memorySize“的值。这时ECU将接收到的压缩数据解压,并计算所有解压后数据大小的总和。在压缩数据传输完成后,ECU会比较解压后的数据大小与”memorySize“参数定义的数据大小是否一致,并相应地发送肯定或否定响应。

当然,对于”memorySize“代表压缩数据的大小还是非压缩数据大小,数据传输完成后ECU判断下载数据是否正确的方法各OEM定义也不尽相同。

2.压缩前后刷写文件比对

软件刷写是指将软件程序烧录或者通过UDS刷写传输到ECU芯片内存的特定地址段,然后ECU就会运行该软件程序,去实现其特有的功能。常用的ECU刷写文件格式有:.hex,.s19和.bin等。压缩刷写文件是通过特定的压缩算法制作而成。

压缩前:



刷写文件分3个逻辑块,各块起始地址、结束地址、长度为:

Block0:起始地址:0x80138020结束地址:0x801FFFDF 长度:0xC7FC0

Block1:起始地址:0x80300020结束地址:0x804FFFDF 长度:0x1FFFC0

Block2:起始地址:0xA0078020结束地址:0xA0137FFF 长度:0xBFFE0

压缩后:



压缩后刷写文件仍分3个逻辑块,各块起始地址、结束地址、长度为:

Block0:起始地址:0x80138020结束地址:0x8015E60E 长度:0x265EF

Block1:起始地址:0x80300020结束地址:0x80448DD7 长度:0x148DB8

Block2:起始地址:0xA0078020结束地址:0xA00AD0F6 长度:0x350D7

可以发现,压缩前后的刷写文件逻辑块数量未变化,起始地址未变化,各逻辑块的数据长度变小了,对应的结束地址也产生了变化。

每个逻辑块独立压缩:

对于压缩前刷写文件中分为多个逻辑块,在压缩之后的逻辑块数量未发生变化的情况可称之为“每个逻辑块独立压缩”。与之不同,也存在“整体压缩”的方式。

整体压缩:

压缩前:



刷写文件分3个逻辑块,各块起始地址、结束地址、长度为:

Block0:起始地址:0x8FC0060结束地址:0x9194FFF 长度:0x1D4FA0

Block1:起始地址:0x91C0000结束地址:0x91D9EBF 长度:0x19EC0

Block2:起始地址:0x9200000结束地址:0x9237FFF 长度:0x38000

压缩后:



压缩后刷写文件只有1个逻辑块,无起始地址。

对于“整体压缩方式”,刷写流程中内存擦除(EarseMemmory)服务和0x34(RequestDownload)服务中起始地址等信息由ECU供应商或者OEM定义。

3. 压缩刷写日志分析

非压缩刷写日志:



压缩刷写日志:



通过分析刷写日志,我们可以发现压缩刷写与非压缩刷写的主要区别在于:

1).请求下载服务(SID=0x34)指令参数(dataFormatIdentifier)不同。

非压缩:刷写工具发送:34 00 44 A0 07 80 00 00 10 00 01

压缩:刷写工具发送:34 10 44 A0 07 80 00 00 03 50 F7

其中10代表:使用压缩数据;00代表:使用非压缩数据。

2).请求下载服务(SID=0x34)指令参数(memorySize)不同。

非压缩刷写:刷写工具发送:34 00 44 A0 0780 00 00 10 00 01

压缩刷写:刷写工具发送:34 10 44 A0 0780 00 00 03 50 F7

非压缩刷写中请求下载服务(SID=0x34)中memorySize大小大于压缩刷写中的memorySize大小,如果最大块长度值一致,则对于后续数据传输服务(SID=0x36)的个数,压缩刷写则要小于非压缩刷写。

如日志中压缩刷写与非压缩刷写最大块长度值皆为0xFFF,可计算出:

非压缩刷写后续数据传输服务(SID=0x36)的个数为257个;

压缩刷写后续数据传输服务(SID=0x36)的个数为54个;

数据传输服务(SID=0x36)的个数越少,则所需数据传输的时间也就越少,这也就是压缩刷写可以提升刷写效率的主要原因。

总结

随着ECU软件功能的日益复杂,提高ECU软件升级效率变得尤为重要,Bootloader作为一项必不可少的功能软件,其高效的刷写方式是实现ECU软件更新的关键。目前,北汇信息已经完成压缩刷写测试方案的落地,期待与感兴趣的朋友进行交流合作。

参考文献:

【1】ISO14229-1:2020

声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
联合国调查团:美国袭击伊朗米纳卜小学和一体育设施构成战争罪

联合国调查团:美国袭击伊朗米纳卜小学和一体育设施构成战争罪

澎湃新闻
2026-09-18 10:44:26
全球都在通胀,只有我们通缩?

全球都在通胀,只有我们通缩?

谭谈财经
2026-09-13 18:18:20
你经历过最窒息的事是什么?网友:辅警,让我安排他孩子进公安局

你经历过最窒息的事是什么?网友:辅警,让我安排他孩子进公安局

另子维爱读史
2026-09-17 20:39:32
联想集团股价刷新历史新高

联想集团股价刷新历史新高

证券时报
2026-09-18 12:06:01
中央明确:公职人员出差伙食费、交通费、住宿费、会议费标准

中央明确:公职人员出差伙食费、交通费、住宿费、会议费标准

新理财杂志
2026-09-17 17:32:35
人老了,想多活几年,先管住自己这十点:1、不摔倒,2、不劳累,3、不生气……

人老了,想多活几年,先管住自己这十点:1、不摔倒,2、不劳累,3、不生气……

品读时刻
2026-08-06 09:09:20
又一白酒在山东“一炮打响”,100%纯粮、0添加,不是景芝、泰山酒

又一白酒在山东“一炮打响”,100%纯粮、0添加,不是景芝、泰山酒

次元君情感
2026-09-18 01:47:18
“中年显老”的10种行为,看完笑不活了,竟然惊人的相似

“中年显老”的10种行为,看完笑不活了,竟然惊人的相似

抠搜侠
2026-09-17 14:09:21
贵州省3名县处级干部被开除党籍、开除公职

贵州省3名县处级干部被开除党籍、开除公职

贵阳网
2026-09-18 14:24:15
大家发现没有了吗?油车跑1000公里要500块,电车跑1000公里呢?

大家发现没有了吗?油车跑1000公里要500块,电车跑1000公里呢?

白米饭怎么吃
2026-08-04 20:31:41
果然公司的中秋福利从来让人失望,网友:公司的实力员工的脸面

果然公司的中秋福利从来让人失望,网友:公司的实力员工的脸面

另子维爱读史
2026-09-17 20:29:04
1980年,新闻女王追问邓小平:76年那件事是谁组织的,他如何回答?

1980年,新闻女王追问邓小平:76年那件事是谁组织的,他如何回答?

历史龙元阁
2026-09-17 14:33:39
广西火车司机悲剧!拼命挣钱养家直至送外卖车祸离世,至死不知儿子非亲生,与妹妹聊天记录流出太扎心

广西火车司机悲剧!拼命挣钱养家直至送外卖车祸离世,至死不知儿子非亲生,与妹妹聊天记录流出太扎心

火山詩话
2026-09-17 21:37:17
美国国会通过对俄罗斯的“地狱制裁”法案,特朗普即将签署

美国国会通过对俄罗斯的“地狱制裁”法案,特朗普即将签署

山河路口
2026-09-17 18:58:54
人有本事,一眼便知:有本事的人,都有4个特征,遇见要深交

人有本事,一眼便知:有本事的人,都有4个特征,遇见要深交

金沛的国学笔记
2026-09-10 16:42:52
全世界都被普京骗了?打乌克兰只是幌子,真正目标其实已悄悄布局四年

全世界都被普京骗了?打乌克兰只是幌子,真正目标其实已悄悄布局四年

扶苏聊历史
2026-08-27 16:15:02
两性关系:如果还想多活几年,70岁以后必须牢记这几句

两性关系:如果还想多活几年,70岁以后必须牢记这几句

荔子言
2026-06-05 23:10:00
日本央行加息25个基点 符合市场预期

日本央行加息25个基点 符合市场预期

财联社
2026-09-18 11:10:03
腾讯搬走后,科兴物价彻底崩了,一杯咖啡从25降到15

腾讯搬走后,科兴物价彻底崩了,一杯咖啡从25降到15

流苏晚晴
2026-09-18 14:24:54
中科院院士:磷酸铁锂是“上天的礼物”,现在电车很好不必等固态

中科院院士:磷酸铁锂是“上天的礼物”,现在电车很好不必等固态

林子说事
2026-09-18 09:00:15
2026-09-18 15:44:49
北汇信息
北汇信息
专注汽车电子领域
614文章数 31关注度
往期回顾 全部

汽车要闻

纯电/插混双动力+五座/六座双布局 海狮08应该怎么选?

头条要闻

"甲醛白菜"爆料博主再曝"硫磺熏笋" 现场气味异常刺鼻

头条要闻

"甲醛白菜"爆料博主再曝"硫磺熏笋" 现场气味异常刺鼻

体育要闻

一个角色球员,靠什么在NBA征战17年

娱乐要闻

敬一丹逝世 央视送别,女儿成“心病”

财经要闻

中国汽车:尾大不掉,必须出清

科技要闻

苹果店外黄牛蹲守:18 Pro Max加价500

态度原创

时尚
游戏
教育
数码
军事航空

没想到这件事,对我的改变这么大!

《生化危机》新电影改编引争议!导演澄清创作立场

教育要闻

日常英语:去剪发发现与自己要求不符

数码要闻

绿联推出67W屏显旅行充电器:支持美/澳/欧/英规插头,189元

军事要闻

中方反对在安理会强推恢复对伊朗制裁

无障碍浏览 进入关怀版