FLASH-CH32F203替换STM32F103 FLASH快速编程移植说明
因CH32F203 相对于STM32 flash 操作多了快速编程模式,该文档说明主要目的是为了方便客户在原先ST 工程的基础上实现flash 快速编程模式的快速移植。
1、在stm32f10x.h 文件中,在FLASH_TypeDef 结构体中,增加MODEKEYR 成员定义。
修改后如下图所示:

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

3、在stm32f10x_flash.c 文件中,增加flash 寄存器快速编程位定义
修改后如下图所示:

4、在stm32f10x_flash.c 文件中,修改FLASH_ErasePage()函数
修改后如下图所示:

5、在stm32f10x_flash.c 中增加FLASH_ProgramPage_Fast()快速编程函数。
修改后如下图所示:

6、在stm32f10x_flash.h文件中,增加FLASH_ProgramPage_Fast()快速编程函数的声明。
修改后如下图所示:

7、上述步骤完成后,即可执行单次256字节的编程,在main.c文件中,编写Flash_Test_Fast()函数,使能USART1_TX(PA9)打印调试结果,测试单次256字节编程。
修改后如下图所示:


FLASH-CH32F203替换STM32F103 FLASH快速编程移植说明的更多相关文章
- Android WebView播放视频flash(判断是否安装flash插件)
		
Android WebView播放flash(判断是否安装flash插件) 最近帮一个同学做一个项目,断断续续的一些知识点记录一下.一个页面中有一个WebView,用来播放swf,如果系统中未安装f ...
 - STM32F103外部中断编程
		
STM32F103外部中断编程 中断,顾名思义就是停下手头的活,去干另外一件急活,干完急活然后回来继续干手头的活. 单片机和人一样,有时候也有更急的程序需要执行,执行完之后再回来执行之前正在执行的 ...
 - Contiki源码+原理+功能+编程+移植+驱动+网络(转)
		
源:Contiki源码+原理+功能+编程+移植+驱动+网络 请链接:http://www.rimelink.com/nd.jsp? id=31&_np=105_315 假设您对于用Contik ...
 - 十八、Nand Flash驱动和Nor Flash驱动
		
在读者学习本章之前,最好了解Nand Flash读写过程和操作,可以参考:Nand Flash裸机操作. 一开始想在本章写eMMC框架和设备驱动,但是没有找到关于eMMC设备驱动具体写法,所以本章仍继 ...
 - S3C2440从NAND Flash启动和NOR FLASH启动的问题
		
1.为什么NAND FLASH不能直接运行程序 NAND FLASH本身是连接到了控制器上而不是系统总线上.CPU运行机制为:CPU启动后是要取指令执行的,如果是SROM.NOR FLASH ...
 - ESA2GJK1DH1K升级篇: 快速的移植升级程序到自己的项目(BootLoader程序制作)
		
前言 此代码兼容STM32F103全系列 为避免添加上升级程序造成内存不足,请使用128KB Flash及其以上的型号 这篇文章是为了能够让大家快速移植我的升级模板程序到自己的项目 BootLoade ...
 - Python快速编程入门,打牢基础必须知道的11个知识点 !
		
Python被誉为全世界高效的编程语言,同时也被称作是“胶水语言”,那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因. Python 简介 ...
 - 前端页面js与flash交互——js获取flash对象,并传递参数
		
背景介绍: 最近在搞一个项目,涉及到图片选取,裁剪,上传等,由于浏览器安全性问题,js无法获取到<input type="file">中选取的文件路径,而且对照片的裁剪 ...
 - flash拖动条移出flash无法拖动
		
原因:flash拖动条的拖动事件被嵌入flash的div的鼠标事件给截获了!
 - 18.safari 安装后flash还是提示安装 flash,视频不能播放
		
第一步: safari---->偏好设置(首先安装最新Mac adobe flash) 第二步: 第三步:点击进入 第四步:再次打开safar,大功告成!
 
随机推荐
- Python基础之模块:3、os模块  sys模块  json模块  json实战
			
目录 一.os模块 1.创建目录 2.删除目录 3.查看指定路径下目录内容 4.删除/重命名文件 5.获取/切换当前目录 6.动态获取项目根路径 7.拼接/切割路径 8.判断文件.目录是否存在 9.判 ...
 - .Net Core 3.0 对 MongoDB 的多条件(两种)查询操作
			
前言 在日常开发中,偶尔会用到 MongoDB 的数据操作,也花费了一些时间调试,因此在此处记录一下,共同进步. 废话少说,出招吧! 正文 2.1 准备工作 首先需要引入 .Net 平台链接 Mo ...
 - JavaWeb4
			
1. Filter 1.1 概述 Filter:过滤器 Servlet.Filter和Listener称为Web的三大组件 生活中的过滤器:净水器.空气净化器.土匪 web中的过滤器:当访问服务器的资 ...
 - perl中 use strict会出现“requires explicit package name”错误
			
转载 perl中use strict的用法 如果你使用 use strict 的话,它会强迫你用 my 声明变量,否则将会报上述错误.
 - day01-Tomcat框架分析
			
引入课程和Maven 1.Maven maven中央仓库:Maven Repository: Search/Browse/Explore (mvnrepository.com) maven仓库是国外的 ...
 - srcddd
			
目录 application assembler UserReq.go UserRsp.go dto MessageResult.go UserDTO.go services UserService. ...
 - AArch32/AArch64系统级内存模型(三)
			
1. 内存系统架构 1.1 系统级存储系统体系结构的形式 Armv8的a -profile体系结构包括一个虚拟内存系统体系结构(Virtual Memory System Architecture ...
 - 【SQL真题】SQL3:每类视频近一个月的转发量/率
			
题目: https://www.nowcoder.com/practice/a78cf92c11e0421abf93762d25c3bfad?tpId=268&tqId=2285068& ...
 - 【每日一题】【二分mid&贪心】2022年2月8日-NC163 最长上升子序列(一)
			
1.描述给定一个长度为 n 的数组 arr,求它的最长严格上升子序列的长度.所谓子序列,指一个数组删掉一些数(也可以不删)之后,形成的新数组.例如 [1,5,3,7,3] 数组,其子序列有:[1,3, ...
 - 【Shell脚本案例】案例5:找出CPU/内存率占用高的进程
			
一.背景 找出占用高的进程 使用脚本编写找出占用CPU的进程 二.分析 1.查看进程 top 输入后按C,就可以列出 其他: ps aux 2.思路 awk进行排序,如top10 即ps aux |a ...