打印

求助:STM32下载程序后,第一次上电正常,断电再上电,死机

[复制链接]
5037|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dwlovehome|  楼主 | 2012-4-6 13:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是这样的,我用的是STM32F103V8T6。JLINK下载程序,编译软件KEIL RVMDK。
程序是使用的STM32的固件库V3.5
下载程序进片子后,第一次上电运行正常,第二次就死纪了,进入HardFault_Handler

我也看了Cortex-m3权威指南,里面相关的寄存器也查了,就是有一个寄存器(总线Fault寄存器)
0xe000ed29  的只是0x04  即不精确的数据访问违例,可是问题是,我仿真的时候发现,第二次复位芯片运行后,都没有跑到我的初始化函数,也就是没有跑到我自己的程序里面来,就进入HardFault_Handler了,又怎么可能产生数据访问违例呢?
沙发
dwlovehome|  楼主 | 2012-4-7 08:06 | 只看该作者
大牛们进来看看的哈

使用特权

评论回复
板凳
acgean| | 2012-4-7 08:58 | 只看该作者
还真不好说,借助 JLINK 仿真调试吧。
这么强大的工具,不要只拿来派下载程序的用处哦。

使用特权

评论回复
地板
dwlovehome|  楼主 | 2012-4-7 14:45 | 只看该作者
3# acgean

嗯,关键是连我的初始话函数都没劲都死掉了。不知道怎么回事。

比如我的程序如下

main()
{
      fun1();  //我的初始化函数,第二次上电时候这个函数都没有进去就死了
     while(1)
    {
          fun22();
   }
}

使用特权

评论回复
5
wifity| | 2014-9-24 11:57 | 只看该作者
今天我也遇到这个错误:
芯片:STM32F207ZGT6  1M falsh
错误点:程序里修改了flash内容时指针指向代码段,导致代码修改后无效。
为什么会出错:移植官方的flash仿真EEPROM,为了实现PAGE0和PAGE1在1M偏后的Flash,修改部分参数--》为了实现多EEPROM实例化,把配置宏改为变量,在变量修改的过程中出错。
解决方案:尽量少的修改配置,我只把4和宏改为变量实现多例化:EEPROM_START_ADDRESS    PAGE0_ID    PAGE1_ID    NB_OF_VAR

使用特权

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

本版积分规则

8

主题

41

帖子

0

粉丝