f407 flash的读写错误

2019-07-21 05:12发布


我在官方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这可能是什么原因呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-21 08:25
还没搞过F4的IAP,看看F4的相关文档,有没有说明什么特殊的地方。
jimmjimm
2楼-- · 2019-07-21 10:40
回复【2楼】正点原子:
---------------------------------
刚刚试了下,官方的iap程序也返回一样的错误...真奇怪,难道是硬件错误?可是板子我换了一块还是一样的错误啊...
正点原子
3楼-- · 2019-07-21 12:31
回复【3楼】jimmjimm:
---------------------------------
还不知道,今晚回去弄下STM32F4的FLASH 模拟EEPROM。
不过发现F4和F1的FLASH差别好大,主要是F4的SECTOR太大了,最小的都是16KB,接下来就是64KB,128KB!!!
我勒个去...得开这么大的内存做缓存,型号F4内存够多,否则只能望洋兴叹了....

看来在STM32F4做FLASH模拟EEPROM,只能具有参考意义,没有实际意义了....
jimmjimm
4楼-- · 2019-07-21 13:46
 精彩回答 2  元偷偷看……
jimmjimm
5楼-- · 2019-07-21 14:26
回复【4楼】正点原子:
---------------------------------
发现问题了,结果发现是JTAG的问题,如果用jtag调试,不论是单步还是断点,都会发生flash不能擦写的情况(因为jtag可能读写flash导致flash的其中2个错误状态表示一直是高)不过103就没这个问题

一周热门 更多>