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

共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 跳转至

回复

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