你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
flashåçå®ç°.rar
2015-2-12 14:54 上传
点击文件名下载附件
6.78 MB, 下载次数: 186
ç¨åº
flashåæä½è¯´æ.rar
13.94 KB, 下载次数: 80
说æ
举报
拼命三郎 发表于 2015-2-13 08:36
# {' Y) R( B. E- q* }3 c
整个程序是在UCOS系统下运行的。
写操作的函数为
/******************************************************
函数:CPU_INT08U flashWrite( CPU_INT08U *dataBuf, 9 K( `) p# g7 `! a% ]$ @# J7 g
CPU_INT08U NumOfData,
CPU_INT08U SartAddr)! z, ]0 ^2 j* ]
功能:将一串数据写入到片内flash$ m% W2 l$ U5 a) i, u
参数:CPU_INT08U *dataBuf //要被写入的数据指针 0 s, |' n5 m& O. k! z& L
CPU_INT08U NumOfData//写入数据的个数9 ?, }) u2 T: Z/ s/ p1 {+ v) ]
CPU_INT08U SartAddr //在flash中对应0的偏移地址6 q( ?# p) u2 Y [
******************************************************/; F+ c9 E% ]9 }4 j
CPU_INT08U flashWrite( CPU_INT08U *dataBuf, // 要被写入的数据指针 CPU_INT08U NumOfData, //写入数据的个数$ l8 ^& V3 r1 w2 ~+ l; x5 R
CPU_INT16U SartAddr) //在flash中对应0的偏移地址
因stm32f103一个页面是2k,所以最大写入数据量为2k
在flash.c中的有1 |! h/ S# N6 E
#define FLASH_START_ADR 0x0800f000
那么0x0800f000就是0地址。函数中的SartAddr就是相对于0x0800f000的偏移地址
可以一次写入一个字节到2k字节。
操作过程是读改写
7 G, Q8 T2 W+ `$ s9 U# c' Z
谢谢支持