打印

程序占用RAM空间大小

[复制链接]
2632|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
st316|  楼主 | 2012-9-26 11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是一个工程编译后的信息:  26 118 bytes of readonly  code memory
   2 480 bytes of readonly  data memory
  10 309 bytes of readwrite data memory


我用的目标芯片是103C8,10K的RAM,10309 bytes>10K。我将程序下载到芯片,测试了一会,没出现异常。

是不是能这样解释:10309bytes并不表示每时每刻都需要这么多RAM空间,这个数字只代表整个程序中全部readwrite data的总和。
沙发
figo20042005| | 2012-9-26 11:16 | 只看该作者
转到RAM里应该没那么大

使用特权

评论回复
板凳
st316|  楼主 | 2012-9-26 11:21 | 只看该作者
2# figo20042005 为什么?

使用特权

评论回复
地板
airwill| | 2012-9-28 23:04 | 只看该作者
10309bytes并不表示每时每刻都需要这么多RAM空间,这个数字只代表整个程序中全部readwrite data的总和。
这个说法是没有错, 但是, 关键是编译器把堆栈放在了 RAM 的最后, 由于超出 RAM 空间, 堆栈就分配到了无效区域, 这样程序执行肯定出问题.
测试了一会,没出现异常。或许你的芯片103C8 里还有更大的 RAM. 据说, 很多芯片是上档的芯片经降额(可能是高等级芯片某些测试不合格而降等级用)出来的. 然后打了低档芯片的字而已

使用特权

评论回复
5
st316|  楼主 | 2012-10-10 16:59 | 只看该作者
Thanks!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

167

帖子

3

粉丝