这个问题的原因是: ST官方提供的IAP程序, 其时钟没有配置到96MHz, 当用户的程序时钟配置没有到96M时, 则不会出现程序死掉的现象;
但是,如果用户程序的时钟配置为96M, 在从AP跳转到用户程序后, 会导致程序对FLASH操作不当, 所以用户程序就死掉了.
解决方法:首先将IAP程序的时钟配置为96M, 再将用户程序的时钟配置部分全部去掉, 或者去掉部分
(去掉FMI_Config(FMI_READ_WAIT_STATE_2, FMI_WRITE_WAIT_STATE_0, FMI_PWD_ENABLE, FMI_LVD_ENABLE, FMI_FREQ_HIGH); )即可. |