JerryMouse 发表于 2014-7-4 19:36:32

STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

    如题:
    STM32芯片,如果堆溢出、栈溢出,都会进入硬件错误中断中吗? 
     http://my.csdn.net/uploads/201205/19/1337414322_6402.gif
  如上图,STACK是向下伸展,如果STACK向下越界了,那么这时候,sp的指针会指向哪里? 指向用户ram区,还是HEAP区,或者哪里?
  HEAP向上伸展,越界后,越界部分的内存是会操作哪里?会对stack区产生影响吗?
    RAM去越界到FLASH区的话,是不是会进入硬件错误中断?
    本人菜鸟,求人指教!!

feel-376797 发表于 2014-7-4 20:23:55

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

堆栈溢出都会产生陷阱中断。

JerryMouse 发表于 2014-7-9 21:30:27

回复:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

回复第 2 楼 于2014-07-04 20:23:55发表:
堆栈溢出都会产生陷阱中断。
 
 
那么请教下,可以不同过仿真,直接知道stack已用空间、heap的已用空间吗?
stack可以看指针,但不知道软件如何可以将指针赋值到变量。keil仿真时,如何查看stack、heap的使用空间情况?
如通过串口将监控指针位置上传,进行监控。项目使用,机器一跑,仿真就断线了,无法通过仿真看。
  求指导,谢谢!!
 

有缘于你 发表于 2014-7-14 07:03:50

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

溢出就直接进入中断了

zb56525812 发表于 2014-7-14 15:48:49

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

栈区的使用在编译时就确定了,除非你使用汇编强制操作栈寄存器,否则只要编译通过就没有问题。堆区需要你自己维护,申请失败时不使用就行,如果使用了,使用的就是一个错误地址,可能就会产生hard fault中断。

深秋独影 发表于 2014-7-16 21:32:50

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

堆栈溢出时程序会跳到hard fault异常中断里,程序运行时出现堆栈溢出,仿真时可以明显看出子程序返回时跳到毫不相干的子程序中去了

Eagleson 发表于 2014-7-17 09:05:06

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

我记得权威指南里面有一章指专门讲异常问题的。楼主可以自己去看一下:D

dzc2001 发表于 2014-7-17 09:29:55

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

hard fault之后就进中断了啊。

巅峰残狼 发表于 2014-7-17 13:17:10

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

找了半天资料也没找到解决的办法,坐等大家献言献策

aaa999kk 发表于 2014-7-17 17:02:22

RE:STM32堆溢出、栈溢出,导致出现异常的情况相同吗?

循环不出来的话, 输出的参数就有问题
页: [1] 2
查看完整版本: STM32堆溢出、栈溢出,导致出现异常的情况相同吗?