FLASH-CH32F103替换STM32F103 FLASH快速编程移植说明

因CH32F103 相对于STM32F103 flash 操作多了快速编程模式,该文档说明主要目的是为了方便客户在原先ST 工程的基础上实现flash 快速编程模式的快速移植。

1、在stm32f10x.h 文件中,在FLASH_TypeDef 结构体中,增加MODEKEYR 成员定义。

修改后如下图所示:

2、在stm32f10x_flash.c文件中,在FLASH_Unlock 函数中,增加MODEKEYR 成员的操作。修改后如下图所示:

 

3、目前CH32F103 的FLASH 最大为64K,在stm32f10x_flash.h 文件中,增加对于flash 容量的定义

 

修改后如下图所示:

注:大容量芯片可以相应修改STM32_FLASH_BASE_END的“0x10000”数据即可

 

4、在stm32f10x_flash.c 文件中,增加flash 寄存器快速编程位定义

 

修改后如下图所示:

5、在stm32f10x_flash.c 文件中,修改FLASH_ErasePage()函数

修改后如下图所示:

6、在stm32f10x_flash.c 中增加FLASH_BufReset()函数、FLASH_BufLoad()函数和FLASH_ProgramPage_Fast()快速编程函数。

修改后如下图所示:

7、在stm32f10x_flash.h文件中,增加FLASH_BufReset()函数、FLASH_BufLoad()函数和FLASH_ProgramPage_Fast()快速编程函数的声明。

修改后如下图所示:

8、上述步骤完成后,即可执行单次128字节的编程,在main.c文件中,编写Flash_Test_Fast()函数,使能USART1_TX(PA9)打印调试结果,测试单次128字节编程。

posted @   WCH_CH32  阅读(399)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示