c8051f120代码段超出32K

[复制链接]
 楼主| jimpact 发表于 2013-4-6 15:44 | 显示全部楼层 |阅读模式
用keil编译出code=48591,工程设置页面的code rom size为64K,但是我的ram只有32K,这样的话程序执行是在rom还是ram?看文档没有详细的说明。这个单片机上电之后是把所有代码都移到ram中还是该单片机内部的64Krom?
huangqi412 发表于 2013-4-7 09:10 | 显示全部楼层
连存储器分配都没搞清楚,LZ就写出几十K代码了???不是一般的强大
rgh111 发表于 2013-4-7 10:55 | 显示全部楼层
楼上的不要这样说,其实这种情况应该是正常的.哥当年做毕业设计没电脑,用手在信签纸上写了50来页的C,用于一个用户输入处理和决策,老师给我96分,我自已都汗...

说说楼主的问题吧,我猜楼主以前没怎么搞个单片机,主要是脑袋里面有一些想法,本来是可以在电脑上实现得七七八八的.所以写了一堆的程序.这很正常.

楼主要明白,大部分单片机的程序都是直接从ROM里面执行的,没有移到RAM里面去.单片机的RAM主要用途在于堆栈的存储,变量的存取修改,过程数据的缓冲.由于单片机的RAM数量有限,像标准51系列的只有128个字节,这个资源是很稀少的,所以楼主习惯尽量节约RAM节约开支,

真正从RAM里面跑的除PC这一大类以外,还有大部分ARM,MIPS,PPC等都是有一小段启动代码,把ROM里面的程序搬到RAM里面去,再运行的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部