LPFYQQ 发表于 2009-10-30 12:40:44

换了种方法也会停在 HardFault_Handle ?

 
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/
 

发表于 2009-10-30 15:46:40

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

1、首先确定你的mhx文件的大小;
2、确定你的stm32芯片ram和flash的大小;
3、你进去的是硬件错误中断,说明你的某个操作引起硬件错误;
4、你说大于2580就会出这样的错误,我怀疑是你的代码超出STM32范围。
页: [1]
查看完整版本: 换了种方法也会停在 HardFault_Handle ?