查看: 4158|回复: 2

[其他] 数据段和代码段分别放在哪里

[复制链接]

该用户从未签到

6

主题

24

帖子

0

注册会员

Rank: 2

积分
67
最后登录
1970-1-1
发表于 2011-9-16 14:48:02 | 显示全部楼层 |阅读模式
查看了prm文档,如下知道了内存的划分。
NAMES END
SEGMENTS
Z_RAM         =   READ_WRITE     0x0080 TO          0x00FF;
RAM              =   READ_WRITE     0x0100 TO          0x107F;
ROM             =   READ_ONLY       0x1900 TO          0xFFAD;
ROM1           =   READ_ONLY       0x1080 TO          0x13FF;
EEPROM     =   READ_ONLY       0x1400 TO          0x17FF;

END

PLACEMENT
DEFAULT_RAM,           INTO RAM;
_PRESTART,
STARTUP,
ROM_VAR,
STRINGS,
VIRTUAL_TABLE_SEGMENT,
DEFAULT_ROM,
COPY ,                                  INTO ROM;
_DATA_ZEROPAGE,
MY_ZEROPAGE  ,                 INTO Z_RAM;
END
 
STACKSIZE 0x80

VECTOR 0 _Startup   /* Reset vector: this is the default entry point for an application. */

我想知道程序文件里如何看。因为程序文件里没有 #PROGMA code_sege XXX 这样的语句。
是不是默认 代码段放在ROM,数据段放在RAM里。但是程序和数据段在编程的时候是混在一起的,比如函数中有代码也有数组,是怎么分开代码和数据段呢?通过编译么?求高人解答。
我知道答案 目前已有1人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-9-17 09:47:48 | 显示全部楼层

    RE:数据段和代码段分别放在哪里

    1、临时变量是放在RAM中
    2、程序和局部变量、全局变量会占用ROM,调用变量的时候,会在RAM中执行。
    3、CONST 常量放在ROM中。
    4、编译器会自动处理代码,这个就不用考虑了。
    该会员没有填写今日想说内容.

    该用户从未签到

    6

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    67
    最后登录
    1970-1-1
     楼主| 发表于 2011-9-19 08:47:57 | 显示全部楼层

    回复:数据段和代码段分别放在哪里

    回复第 2 楼 于2011-09-17 01:47:48发表:
    1、临时变量是放在RAM中
    2、程序和局部变量、全局变量会占用ROM,调用变量的时候,会在RAM中执行。
    3、CONST 常量放在ROM中。
    4、编译器会自动处理代码,这个就不用考虑了。 

    谢谢版主,程序中没直接标出代码段 #PROGMA code_sege XXX ,
    其实默认的是 #PROGMA code_sege DEFAULT_ROM 
    PLACEMENT
    DEFAULT_ROM,     INTO ROM;
    END
    再一次谢谢版主
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 00:31 , Processed in 0.084290 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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