你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
flashåçå®ç°.rar
2015-2-12 14:54 上传
点击文件名下载附件
6.78 MB, 下载次数: 186
ç¨åº
flashåæä½è¯´æ.rar
13.94 KB, 下载次数: 80
说æ
举报
拼命三郎 发表于 2015-2-13 08:36
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。关注该话题即可发布文章!
整个程序是在UCOS系统下运行的。
写操作的函数为
/******************************************************
# ]: H5 Z6 k8 O, I$ t
函数:CPU_INT08U flashWrite( CPU_INT08U *dataBuf, $ s7 W* {/ P3 ^1 o: f6 e4 F
CPU_INT08U NumOfData, 9 v& G" ?- R2 a& J5 W
CPU_INT08U SartAddr)' Y6 {; }% A H: ^' j
功能:将一串数据写入到片内flash
参数:CPU_INT08U *dataBuf //要被写入的数据指针 q9 Z7 ^0 P* `2 c! o2 m) u. A2 r; e% A
CPU_INT08U NumOfData//写入数据的个数
CPU_INT08U SartAddr //在flash中对应0的偏移地址: K" b8 G# c. i+ x, i! }
******************************************************/
CPU_INT08U flashWrite( CPU_INT08U *dataBuf, // 要被写入的数据指针 CPU_INT08U NumOfData, //写入数据的个数
CPU_INT16U SartAddr) //在flash中对应0的偏移地址
1 ]5 V. h% Z. E0 X- ?4 ]
因stm32f103一个页面是2k,所以最大写入数据量为2k
2 {$ B2 h# G( b+ u, l
在flash.c中的有# p+ {4 B# ]; y. o, _0 f! x
#define FLASH_START_ADR 0x0800f000 : J# `2 {% {# k5 {) _# L% z
那么0x0800f000就是0地址。函数中的SartAddr就是相对于0x0800f000的偏移地址
可以一次写入一个字节到2k字节。! B# D$ {6 ?6 F4 k% F
操作过程是读改写
6 E& ?* J5 ?3 I- c$ c2 G2 N5 S0 h7 z
谢谢支持