M2:分级checksum

Checksum匹配是保证下载完整性的一种机制,了解Download tool的checksum机制,对我们分析下载不完整问题和提高产线效率是非常重要。

[SOLUTION]
从W1516版本的MDT(SP Multiport Download Tool)开始,MDT下载可以支持4个级别的DA checksum,如图:

4个级别的DA checksum分别如下:
Disable Checksum: 不做DA checksum,即下载时不做任何checksum,不保证下载的完整性。
Enable USB+Dram Checksum: 会在PC Ram和手机或者板子的Ram两边做checksum,并compare 这两个checksum是否一致,这个级别没有把Flash上的image读出来并计算checksum与下载前image checksum做比较,故只能保证USB通信两边的数据在Dram的完整性。
Enable Flash Checksum: download 到手机的flash之后,回读做checksum,然后与PC 侧image的check做比较检查是否一致。这个级别不会做Enable USB+Dram Checksum这个checksum检查。
Enable Checksum All: 这个是Enable USB+Dram Checksum和Enable Flash Checksum总和,即两种mode都会做。

[FAQ08732]Flashtool checksum原理简单介绍
Checksum匹配是保证下载完整性的一种机制,了解Download tool的checksum机制,对我们分析问题和客户利用checksum原理来排除问题非常重要;
当build出的整个load到下载手机,整个数据传输过程会从PC 硬盘传给PC buffer,再传到手机端buffer,最后写到手机Flash上面,为了保证整个过程数据传输无误,我司tool加了checksum机制;由于产线环境复杂,我司产线MDT tool默认强制开启checksum功能,flashtool则会根据UI选择来判断是否进行checksum;
[SOLUTION]
现阶段我司的checksum机制如下:
不同格式的image有不同的checksum计算方法,对于RAW格式的image来说,简单的字节累加就可以,或者采用复杂一点的MD5算法;但有文件系统格式(EXT4,UBI_IMG;YAFFS2格式)的image则会先解压后再计算checksum;
总的来说,整个checksum分为PC checksum和DA checksum,PC checksum是由UI code控制的,客户可以自己客制化;DA checksum 是flashtoollib里面实现的,客制化的tool要用API打开此Feature;

其实现可以分为三部分:

第一步checksum(PC checksum):PC checksum.ini <—-> PC buffer 数据计算
的checksum;
第二步checksum(DA checksum):PC buffer 数据计算的checksum值 <—->
手机端buffer 数据计算的checksum值;
第三步checksum(DA checksum):PC buffer数据解压后计算的checksum值
<—-> 手机端readback emmc/nand image
数据计算的checksum;

注意对于第三步checksum,若是RAW格式的image,红线标注部分则是PC buffer 数据计算的checksum值即没有解压过程
具体参考下图:
这里写图片描述
第一步是以image文件为checksum匹配单位;
第二步是以传输数据包为checksum匹配单位;
第三步是以image文件为checksum匹配单位;

由于checksum机制在产线显得非常重要,这里简单说明一下产线下载工具MDT的checksum设置;
默认开启checksum的功能(包括PC和DA checksum)
NOTE:强调产线管控:务必将checksum.ini与image load同时发放给产线;
防止产线操作人员乱点击生成Checksum.ini, 造成checksum出错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值