打印

f407 flash的读写错误

[复制链接]
3694|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jimmjimm|  楼主 | 2013-11-13 17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在官方iap上改,在以前103上完成的改都出现一个问题,不光是擦除还是写,总是返回flash_error_program
在代码简化到只剩
                FLASH_Unlock();       
                FLASH_ClearFlag(FLASH_FLAG_PGSERR | FLASH_FLAG_PGPERR |   FLASH_FLAG_PGAERR | FLASH_FLAG_WRPERR |    FLASH_FLAG_OPERR | FLASH_FLAG_EOP);       
                FLASH_OB_Unlock();
                FLASH_OB_WRPConfig(OB_WRP_Sector_4, DISABLE);
                FLASH_OB_WRPConfig(OB_WRP_Sector_5, DISABLE);
                FLASH_OB_WRPConfig(OB_WRP_Sector_6, DISABLE);
                FLASH_OB_WRPConfig(OB_WRP_Sector_7, DISABLE);

               
                FLASH_EraseSector(FLASH_Sector_4,VoltageRange_3);
                FLASH_EraseSector(FLASH_Sector_5,VoltageRange_3);
                FLASH_EraseSector(FLASH_Sector_6,VoltageRange_3);
                FLASH_EraseSector(FLASH_Sector_7,VoltageRange_3);
也是一样,每一句擦除与设置写保护失效都返回flash_error_program这可能是什么原因呢?
沙发
jimmjimm|  楼主 | 2013-11-14 13:17 | 只看该作者
刚刚试了下,官方的iap程序也返回一样的错误...
发现一点端倪了..所有对flash寄存器的操作似乎都无效,不管是flash_unlock还是clearflag,寄存器的内容都没有改变,这是什么原因呢?flash好像也没有什么时钟使能之类的操作啊.....

使用特权

评论回复
板凳
airwill| | 2013-11-15 13:22 | 只看该作者
我也遇到过这个问题, 记得总结结果: 好像是 FLASH 操作之间要增加延时.

使用特权

评论回复
地板
jimmjimm|  楼主 | 2013-11-19 09:50 | 只看该作者
airwill 发表于 2013-11-15 13:22
我也遇到过这个问题, 记得总结结果: 好像是 FLASH 操作之间要增加延时.

总结原因,我还是太天真了啊.......最后发现是jlink的问题,单步调试必然出错......不用断点不用单步就好了

使用特权

评论回复
5
zchong| | 2014-6-13 13:04 | 只看该作者
调试模式下应该写不进去吧

使用特权

评论回复
6
it_yrj| | 2014-9-23 19:53 | 只看该作者
有时候还会跟编译环境有关系呢,我最近就发现单步调试老是执行不到相关的语句

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

56

帖子

1

粉丝