首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用RAM大小有限制吗?

使用RAM大小有限制吗?

我用CW123.1开发mc9s12dp256,发现一个奇怪的问题,我使用的全局变量占用的空间不到100字节,我定义的局部数组为大小200字节以内时一切正常,但我定义的局部数组大小到200字节以上(不到1000字节)时,编译能通过,但运行就不正常,象死了一样;不知道是cw3.1是否有什么限制还是别的原因,因为DP256有12K字节RAM,区区1000字节再加上堆栈也应该离12K还有好远,请高手指教。
              非学无以广才,非志无以成学;              
局部数组大小超出堆栈大小,溢出了吧
不断学习,摸索中进步!

希望各位同行注意这个有意义的问题!!!!!!!!!!!!

真是这个原因!多谢指点。我以前真不知道局部数组大小不能超过堆栈的大小。我想进一步请教一下的是:只需要最大局部数组大小小于堆栈的大小就够了还是要求所有局部数组字节数之和+所有局部变量字节之和小于堆栈的大小。因为默认的堆栈为256字节,当然自己可以改大点。
              非学无以广才,非志无以成学;              
局部变量占用的是堆栈的空间,堆栈的大小主要看你的压栈深度和局部数组字节大小之和等没有必然关系。如果你的局部数组和其他局部变量不会在同一时间压栈的话,堆栈大于局部数组就可以了。
返回列表