打印
[应用相关]

请教哪位大哥:写flash 到第二page末尾常现HardFaultException

[复制链接]
1754|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tomzxq|  楼主 | 2009-6-27 11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI, IO, ge, ce, LTE
存储一些数据到flash,做了一个保护机制,几个页面循环写入,每个页面存储48个u8 str[42]的数据, 写到第二page末尾常常会出现HardFaultException,单步跟踪写flash本身没有问题,跳出子函数后不一会就会出现。写到第88笔数据从这个函数退出就会出现
void save_gprs_data(void)
{
    
    ......
    ......
    SaveFlashGprs(Rsp1)    ;//写flash操作
    show_debug ( Rsp1 );
    wm_sprintf ( Rsp1, "save succeed! report_tail:%d,report_head:%   d",report_tail,report_head);
    show_debug(Rsp1 );
    //only save report_tail&report_head
    //flash_param.Param._report_tail=report_tail;
    //flash_param.Param._report_head=report_head;
    //rewrite_param_init(6);    
    
}
沙发
tomzxq|  楼主 | 2009-6-27 11:20 | 只看该作者

忘了告诉flash地址,不知道有没有提示作用

#define GprsStartAddr      ((u32)0x0801e000)    //
  #define GprsEndAddr        ((u32)0x0801e800)    //8K
  #define PageSize                         (0x800)    //2k
  #define ShiftSize                         11    //2k
  #define FLASH_SIZE                       (0x80000) /* 512K */

我的软件模拟每十秒调用save_gprs_data,第一页写完自动转到下一页,到了88笔也就是第二页倒数第9笔数据时就出现HardFaultException,几乎每一次都会这样,修改flash起始地址也不管用,恳请大家提示一下?

使用特权

评论回复
板凳
香水城| | 2009-6-27 11:24 | 只看该作者

什么芯片?不同的STM32型号页面大小是不一样的

中小容量的STM32每页Flash大小为1K,大容量的STM32每页Flash大小为2K,你是怎么用的?

使用特权

评论回复
地板
tomzxq|  楼主 | 2009-6-27 11:59 | 只看该作者

我的芯片 stm103E 页面2K,参考头文件

使用特权

评论回复
5
tomzxq|  楼主 | 2009-6-27 12:03 | 只看该作者

回复版主:如果只在一个页面循环写入,测试很久都不会出

如果只在一个页面循环写入,写到第48笔自动擦出页面,重新开始,这样测试很久都不会出问题,如果用到多页,软件到第48笔自动擦出下一个页面,结果到第二页比较靠后就出问题了,真是奇怪?

使用特权

评论回复
6
香水城| | 2009-6-27 12:49 | 只看该作者

既然说Flash写入没有问题,又与是哪个页面无关,多数是软件

你试试看,不要考虑多个页面,考虑只有2个页面的情况。

使用特权

评论回复
7
tomzxq|  楼主 | 2009-6-27 13:09 | 只看该作者

一个页面只能存储48组数据,现在也仅仅扩到第二页就出问题

使用特权

评论回复
8
55948218| | 2010-7-24 07:51 | 只看该作者
这位兄弟:你的问题找到了吗?我的遇到的问题是程序执行到
    FLASHStatus = FLASH_ProgramWord(Address, Data);后,就进入死循环了:
void HardFaultException(void)
{
  /* Go to infinite loop when Hard Fault exception occurs */
  while (1)
  {
  }
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

30

帖子

1

粉丝