只要跑进这句 status = FLASH_WaitForLastOperation(EraseTimeout);,直接崩掉debug
经过一天的排查,刚开始怀疑是初始化中断影响的flash操作,我把中断初始化给注释掉,发现还存在该现象,于是我把系统时钟配置给注释掉,就恢复了,再经过排查,发现默认是用内部的时钟HSI 8M去操作flash,而我定义的是使用外部高速时钟 9倍频72M去跑,如此造成flash等待周期数要和系统时钟频率不对应,把等待时间修改即可
只要跑进这句 status = FLASH_WaitForLastOperation(EraseTimeout);,直接崩掉debug
经过一天的排查,刚开始怀疑是初始化中断影响的flash操作,我把中断初始化给注释掉,发现还存在该现象,于是我把系统时钟配置给注释掉,就恢复了,再经过排查,发现默认是用内部的时钟HSI 8M去操作flash,而我定义的是使用外部高速时钟 9倍频72M去跑,如此造成flash等待周期数要和系统时钟频率不对应,把等待时间修改即可