一、概括
bk代码中,在封装的http下载操作中,bk只烧写bin文件中,数据相关部分,但下载的bin文件的头部包含头信息,bk的下载操作会将头部信息干掉,从而导致无法通过数据写入部分进行校验。
二、解决方案
在删除头部数据之前,将数据采集下来先记录并校验,再在下载操作中继续校验,从而实现分片整包校验的目的
三、代码举例
3.1utils_httpc.c/httpclient_retrieve_content
此处将头部len去除,http_total表示写flash回调中操作的部分。
3.2utils_httpc.c/http_data_process
此处表示,在下载和烧写阶段,total已经变更为去除头部的部分。因此需在去除前多调用一次update。
四、log举例
4.1烧写过程中的total
4.2烧写前http获取的数据大小