0. 初始化EEP时候发现返回5
在EEP使用手册里面有写答案
2. 根据文档看看EEP初始化的参数
2. 从代码看看EEP初始化流程
对EepSize进行校验,有异常直接退出
最小编程字节数,用的挺多的
重复次数赋值,看起来每个都要尝试3次
EEP的地址赋值
解锁和上锁之间的更新组序号和完成数据copy
可以看到是4096/512=8,遍历8次
看到在0/1/2三组里面,2组会出现EEP_HAL_OTHER_ERROR故障
遍历超过4次但是没有返回EEP_HAL_OTHER_ERROR
3. EEP_HAL_OTHER_ERROR
才发现是以CheckOperateGroup结果来遍历
Cnt超过2必定是EEP_HAL_OTHER_ERROR
看下Cnt的计算,计算出的Index参与条件判断,如果不在条件内返回EEP_HAL_OTHER_ERROR
翻译一下判断条件
通过打断点发现,Cnt一直都是0,并且结果就是给LastFlashGroup的数组赋值为3
根据翻译的结果,发现就是Copy数组失败会导致EEP_HAL_OTHER_ERROR
主要是在处理EEP地址时候会出现这个问题