查看: 2213|回复: 5

[S12] S12ZVL编译RAM溢出问题

[复制链接]

该用户从未签到

3

主题

7

帖子

0

新手上路

Rank: 1

积分
46
最后登录
2021-3-2
发表于 2017-10-27 10:27:16 | 显示全部楼层 |阅读模式
调试S12ZVL时候编译提示Out of allocation space in segment RAM at address 0x132D,从map文件里查看到Summary of section sizes per section type:
READ_ONLY (R):        2C4E (dec:    11342)
READ_WRITE (R/W):      32D (dec:      813)
NO_INIT (N/I):         155 (dec:      341)
S12ZVL的RAM空间为1kB,真是因为RAM不够了吗?现在程序只调试了一半,还有好多变量和函数没有定义。

用在S12ZVC上的程序变量比S12ZVL的多,也没有到达1kB
Summary of section sizes per section type:
READ_ONLY (R):        6260 (dec:    25184)
READ_WRITE (R/W):      3A9 (dec:      937)
NO_INIT (N/I):         1D6 (dec:      470)

我知道答案 目前已有5人回答
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2018-11-15 16:18
  • 签到天数: 39 天

    [LV.5]常住居民I

    16

    主题

    259

    帖子

    3

    高级会员

    Rank: 4

    积分
    993
    最后登录
    2023-1-6
    发表于 2017-10-27 10:33:28 | 显示全部楼层
    多用用局部变量吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-3-2
     楼主| 发表于 2017-10-27 11:05:13 | 显示全部楼层

    是因为全局变量太多造成的吗?定义的全局变量是有些多,因为程序涉及逻辑关系多,所以定义了好多全局的标志位变量。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-3-2
     楼主| 发表于 2017-10-27 11:05:18 | 显示全部楼层

    是因为全局变量太多造成的吗?定义的全局变量是有些多,因为程序涉及逻辑关系多,所以定义了好多全局的标志位变量。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-11-15 16:18
  • 签到天数: 39 天

    [LV.5]常住居民I

    16

    主题

    259

    帖子

    3

    高级会员

    Rank: 4

    积分
    993
    最后登录
    2023-1-6
    发表于 2017-10-27 13:09:02 | 显示全部楼层
    剡溪渡口 发表于 2017-10-27 11:05
    是因为全局变量太多造成的吗?定义的全局变量是有些多,因为程序涉及逻辑关系多,所以定义了好多全局的标 ...

    你是裸机编程还是带了操作系统?如果带操作系统估计要裁剪点,裸机的话就别多用全局变量,因为全局变量是放在RAM里的,局部变量放在堆栈中的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    2021-3-2
     楼主| 发表于 2017-10-27 14:02:09 | 显示全部楼层
    小华-415468 发表于 2017-10-27 13:09
    你是裸机编程还是带了操作系统?如果带操作系统估计要裁剪点,裸机的话就别多用全局变量,因为全局变量是 ...

    裸机
    Out of allocation space in segment RAM at address 0x132D这话到底是什么意思呢?我看了下别的代码,全局变量少,但是map文件显示占用空间大,也没有提示这个问题
    Summary of section sizes per section type:
    READ_ONLY (R):         C8F (dec:     3215)
    READ_WRITE (R/W):      3A9 (dec:      937)
    NO_INIT (N/I):         155 (dec:      341)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-9 00:58 , Processed in 0.123369 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表