如果你Flash文件还没有改,可先按以下尝试:
【-----------------------------------------------------------------------------------------2.12.2 CACHE 打开的情况下,FLASH 写及擦除操作时产生错误
问题描述:
CACHE 打开的情况下,FLASH 写及擦除操作时产生错误。
根本原因:
设计原因。
解决方案:
1) 修改 flash 的函数库
在写了 FLASH->AR 寄存器后,操作 FLASH->CR 寄存器前执行 CACHE->CTL |= 0x0800 指令清一下 CACHE。
对于 HK32F103xCxDxE,我们已经在 HK32F103x_flash.c 中已经修改。
2) 在调用 flash 操作(擦除或编程)前关掉 cache,操作之后再打开。
*(uint32_t *)0x400220D0=0x0;//关闭 cache
*(uint32_t *)0x400220D0=0x1;//开启 cache
---------------------------------------------------------------------------------------】
|