|
发表于 2021-8-18 16:57:47
|
显示全部楼层
算法只能够的verify 函数需要修改如下:
unsigned long Verify (unsigned long adr, unsigned long sz, unsigned char *buf)
{
unsigned long i;
W25QXX_Read(read_buf, adr - base_adr, sz);
//for (i = 0; i < PAGE_SIZE; i++)
for (i = 0; i < sz; i++)
{
if (read_buf[i] != buf[i])
{
return (adr + i); // Verification Failed (return address)
}
}
return (adr + sz); // Done successfully
}
将
for (i = 0; i < PAGE_SIZE; i++) 改为for (i = 0; i < sz; i++)
否则最后一组数据校验的时候回出现Contents mismatch at: 900xxxxx.导致下载错误。其实是900xxxxx为最后一个block的地址 |
|