程序跑飞,请教关于单片机的ROM RAM

2019-07-15 14:25发布

程序在运行中,遇到嵌套太深的函数,就容易跑飞,自动复位,我怀疑是变量使用过多,压栈溢出


程序编译正常,0错误,0警告单片机的idata256字节,xdata是3840字节,4KSRAM,程序ROM是56K,
Program Size: data=241.0 xdata=0 code=11122

我好奇的是
code保存在ROM里,那么这里的11122是11k左右,我的ROM有56K应该不算太多吧?
data用了241字节,data不是256字节吗也应该没超过

后来把很多变量定义为xdata,结果变成了
data=27.0 xdata=233 code=13146
我就更郁闷了,我把code跟idata改为xdata。为什么code反而用了更多?

程序太大就不发了





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。