OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6094|回复: 1

FLASH当EEPROM使用遇到的问题

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2012-12-24
在线时间
0 小时
发表于 2013-1-27 21:47:40 | 显示全部楼层 |阅读模式
STM32的最后1K用来存储项目的参数数据,用户每进行一次修改,都要保存一次FLASH。为了延长FLASH的寿命,我想在软件中如下思路设计:
1K的FLASH可以存储 512个16进制数据,我要存的数据只有16个,如果每次写之前都擦一下的话寿命估计不够。我想第一次存储的时候写16个,第二次存储的时候接着第一次的记录后面再写16个,然后一直到写满512个数据后进行一次擦除,然后重新开始记录数据
可是我在使用的时候遇到了问题,比如说RBT6的最后一个扇区起始地址是0x0801FC00,我写第一次数据的时候是正常的,当我参数设置完进行写入二次数据的时候起始地址是0x0801FC10,这也是如我预期的,可是就在这时候,数据根本写不进去,在仿真的时候总是进入了
stm32f10x_it.C
void HardFault_Handler(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}
的while循环中。
我想请问各位朋友,FLASH能像这样多次写入,写满后一次擦除吗?还是其他的原因,这个搞得我很头疼了,谢谢了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-27 22:33:27 | 显示全部楼层
进入hardfault,说明你的访问有问题,坚持下是不是内存访问的问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 02:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表