本帖最后由 kevia 于 2024-11-18 22:19 编辑
我在进行对80025升级OTA的过程的遇到了问题,我们的升级文件有100多kb,分为2000多包,每包48字节下发,写入的起始地址假设为0x00085000,每一包带有相对于起始地址的偏移,如no.0为0x00000000,no.1为0x00000018(因为实际写入是半字编程,所以是0x30 / 2),全部发完后进行校验。 我们的升级是统一广播完所有包之后,再根据个体缺少的包进行下发。比如收到了1,2,3,4,6,7,那么再全部发完2000包之后会马上给他发缺少的5。 问题出现了,如果是正常按顺序接收完所有包,校验就可以通过,如果是缺少了某些包等到最后补充的,那么不管缺少的数目,都会校验失败。 我已经确定了每一包都收到了,且下发的数据成功方和失败方也是一致的。 所以想问下,是不是该芯片的写入必须按顺序写入,不能在中途插入,希望有用过的大佬可以解惑一下 |