在线时间57 小时
UID3080775
注册时间2014-12-5
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 357
- 最后登录
- 2015-12-1
|

楼主 |
发表于 2015-3-17 09:23:42
|
显示全部楼层
本帖最后由 cjpx84 于 2015-3-17 10:28 编辑
擦除的时候就出错了。
参考的是官方的flash代码,已经放到ram了。
flashConfig.CallBack = (PCALLBACK)RelocateFunction((uint32_t)__ram_for_callback , CALLBACK_SIZE , (uint32_t)callback);
g_FlashLaunchCommand = (pFLASHCOMMANDSEQUENCE)RelocateFunction((uint32_t)__ram_func , LAUNCH_CMD_SIZE ,(uint32_t)FlashCommandSequence);
我之前发出来的代码,擦完之后,有个验证的动作,在验证的时候出错了,就进入errtrap里。
for(i = 0x0U; i < 0x2U; i++)
{
ret = FlashVerifySection(&flashConfig, dest_temp, number, i, g_FlashLaunchCommand);
if (FTFx_OK != ret)
{
ErrorTrap(ret);
}
另外,还有个问题想确认一下:
最终保护flash区域的设置是以fopt寄存器为准的吗?或者说 fopt 寄存器的值在reset的时候从configure filed载入的,然后每次擦除的时候根据fopt的寄存器值做相应的保护??
|
|