内存不足栈溢出
Posted 学海无涯,回头是岸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存不足栈溢出相关的知识,希望对你有一定的参考价值。
使用51单片机开发会容易出现DATA区内存不足的情况,有时体现为某SEGMENT OVERFLOW。这个时候可以充分利用128字节的片外RAM,在定义较大的数据类型时在最前面加上idata,在后面的程序中直接调用就可以了。
另外经常会出现栈溢出的问题。如果在主函数中单独调用子函数不会出错,而在另一个函数,例如中断中调用就会出问题的话,这个时候编译会通过,但是仿真的时候就会看到出错了。这种情况多半是由于函数多重调用导致的栈溢出,解决方法是简化子函数的调用方式,或者直接地,把几个子函数写成一个子函数,然后在这个函数中使用goto语句,这样的话工作量会很大,但是成效应该是最好的。
以上是关于内存不足栈溢出的主要内容,如果未能解决你的问题,请参考以下文章