背景:
1》 索塔应用1.3/1.1版
2》 sdk5.0.3标准
问题描述:
1》14580中有引导加载,8000处含斯波塔应用程序,1000英镑头文件;
2》手机端启动索塔扫描到14580设备,选择某个形象传输(区块1,强制刷入8000),手机端看到索塔启动,传输了20个包;
然后手机端就自行退出了链接,跳到索塔扫描首页面;
3》链接聪明的狙击手发现14580闪光灯中8000-B000型的数据已经擦除,后续的没有变动,检查代码应该在此次附录c
//删除标题和图像
如果(spota\u state.mem\u dev==SPOTAR\u IMG\u SPI\u FLASH)
{
#如果(!SPOTAR(SPI禁用)
ret=app\u erase\u flash\u扇区(spota\u state.mem\u base\u add,codesize+CODE\u OFFSET);
如果(ret!=ERR\u OK)返回SPOTAR\u EXT\u MEM\u WRITE\u ERR;
#其他
返回SPOTAR\u EXT\u MEM\u WRITE\u ERR;
#结束
}
进入应用程序擦除闪存扇区发现只是擦除两个部门后就退出了;
对于(i=0;i<部门;i++)
{
ret=spi\u flash\u block\u erase(起始扇区,扇区擦除);
起始扇区+=SPI扇区大小;
如果(ret!=错误(OK)中断;
}
修改ret=spi\u flash\u block\u erase(起始扇区,扇区擦除);为do{ret=spi_flash_block_erase(起始扇区,扇区_erase);}while(ret!=呃(好的)依然只擦除两个部门然后挂掉;
怀疑看门狗,于是未定义wdog依然无果。
问题:
1》该现象是14580端这边主动挂掉可能性大,还是收到了手机端某个命令(重置)挂掉的可能性大?
2》是否存在可能擦除过程中有其他并行的底层任务冲突导致失败?
3》手机端的索塔的日志在什么目录,找了半天没找到:(,搜索索塔关键字无果
因为强制区块213000本来就是ff公司如果我强制擦除的雷特为好的那么能够升级成功,何解?
对于(i=0;i<部门;i++)
{
//ret=spi\u flash\u block\u erase(起始扇区,扇区擦除);
ret=错误\正常;
起始扇区+=SPI扇区大小;
如果(ret!=错误(OK)中断;
}
返回ret;
如果uncommet ret=spi\u flash\u block\u erase(起始扇区,扇区擦除);如下 ,升级还是失败,擦除2扇区后退出
对于(i=0;i<部门;i++)
{
ret=spi\u flash\u block\u erase(起始扇区,扇区擦除);
ret=错误\正常;
起始扇区+=SPI扇区大小;
如果(ret!=错误(OK)中断;
}
返回ret;
似乎有某个定时器超时一般,但是我已经关闭了看门狗,费解中......
您好,
请问硬件环境是什么?是自己的板子还是官方开发板?