⚠️问题出在你的配置上。
你修改了writeAppInfo服务的地址到flash上,并且将App的起始地址改为了 0xB600
但是并没有修改Flash擦除的地址,这就导致在进行下载App的时候,指擦除了 0xB400~0xB400 + AppSize区间的 flash。但是实际下载App的时候是写入到 0xB600~0xB600 + AppSize。所以最后一帧没有擦到,导致写的时候失败了。
✅解决方式
方式一:可以通过新增一个服务,擦除AppInfo区域的flash,起始地址为0xB400,大小可以简单的设置为0x0200。然后修改擦除AppFlash区域的服务起始地址为0xB600。测试是可以正常下载了
方式二:可以通过修改脚本,增加flash地址擦除的大小:
a37013d9-7df1-4e9b-a32d-8ceab7d57bbf-image.png
前面提到的数据写入是成功了的,是由于第一次写入了App的数据,这一次是擦除了芯片的,所以是可以正常写入。第二次下载的时候,由于第一次写入的数据还在,所以看起来是写入成功了