这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 综合技术» 基础知识» 单片机内程序运行的时候存储空间是如何分配的?

共2条 1/1 1 跳转至

单片机内程序运行的时候存储空间是如何分配的?

院士
2006-09-17 18:14:16 打赏
单片机内程序运行的时候存储空间是如何分配的?



关键词: 单片 机内 程序 行的 时候 存储 空间 如何

院士
2006-12-22 22:43:00 打赏
2楼
问 我现对一个程序进行减少片内ram的使用的优化,有一些效果,同时也产生了些疑问,在此向各位大虾请教:
一、现象:
1、我在通过减少全局变量、函数内变量的使用,减少函数间参数传递等手段来优化,发现某些时候我减少一个变量的使用,keil编译的结果就显示data减少了一字节,有时候这样一直减少几个变量的使用,data值一直都不会变,接着再减少变量的使用,又会一个一个的减少,到后来又不减少了。
2、我屏蔽程序中一些代码之后编译,显示data反而是增加了。
二、疑问:
1、 单片机程序运行的时候,内部ram是如果分配管理的,data值由哪些部分组成?
2、之前描述的两个现象如何解释?
3、data值是不包括堆栈空间的,那么程序运行的堆栈空间大概需要多少,和哪些因素有关,能不能预估?
4、 单片机片内ram的使用限度是多少?(指keil编译出来的data值最好不要超过多少)


先谢谢各位大侠的指点,有机会到佛山,小弟请喝酒! 1: 顶一个 2: 顶两个 3: 这个问题太有难度? 4: 期待大虾。。。。。。 5: data是内存RAM单元,C51:data 128byte,C52:data 256byte 6: 顶一个,同样期待答案

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]