你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 6095|回复: 1

换了种方法也会停在 HardFault_Handle ?

[复制链接]

4

主题

17

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2009-10-30 12:40:44 | 显示全部楼层 |阅读模式
 
MDK3.8a + EK-STM3210E开发板  + ST_LINKII
最初用库文件中的USART的interrupt文件作为原型,串口收发正常,把定时器2
加上,也可以。把IO也加上,但一运行根本不会进入MAIN,一直都在HardFault_Handler处。不
明为何,慢慢删除,成了现在模样。我发现如果编译通过出现如下的提示,就会正常:
Program Size: Code=2580 RO-data=336 RW-data=152 ZI-data=648 
此时增加代码,
  while (1)
  {
     if(vT2_5ms_cnt >= 200)
     {
        vT2_5ms_cnt = 0x00;
        //if(P_OrangeLED_TST() ) P_OrangeLED_CLR();
        //else   P_OrangeLED_SET();
        P_OrangeLED_SET();
        P_OrangeLED_CLR();
        P_OrangeLED_SET();
       // P_OrangeLED_CLR(); //把这句打开,编译后Code加大到2588
       // P_OrangeLED_SET();
       // P_OrangeLED_CLR();
     }
   } //while (1) 主循环
编译通过出现如下的提示,就会不正常:( Code>2580 就会出现问题 )
Program Size: Code=2588 RO-data=336 RW-data=152 ZI-data=648 
是否编译器有问题,还是配置有问题?为什么我做的老跑到HardFault_Handler?还请高人指点指点!
文件路径:stm32f10x_stdperiph_lib_v3.0.0/Project/Template/RVMDK/
 

stm32f10x_stdperiph_lib_v3.0.0.rar

下载

1.17 MB, 下载次数: 3, 下载积分: ST金币 -1

回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2009-10-30 15:46:40 | 显示全部楼层

RE:换了种方法也会停在 HardFault_Handle ?

1、首先确定你的mhx文件的大小;
2、确定你的stm32芯片ram和flash的大小;
3、你进去的是硬件错误中断,说明你的某个操作引起硬件错误;
4、你说大于2580就会出这样的错误,我怀疑是你的代码超出STM32范围。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版