查看: 3044|回复: 3

[S12] 求助,s12xe100定义常数变量时的问题

[复制链接]

该用户从未签到

1

主题

25

帖子

0

新手上路

Rank: 1

积分
39
最后登录
1970-1-1
发表于 2011-7-6 23:27:49 | 显示全部楼层 |阅读模式
1 在prm文件中,指定segment :      
CONST_DATA   INTO       PAGE_C0,PAGE_C1;
2 在程序中,定义常量数据:
#pragma CONST_SEG CONST_DATA     //0x700000 global address
volatile const uint16 aa = 16;
volatile const unsigned int table1[5] = {0,2,4,6,8};
volatile const unsigned int table2[5] = {255,256,257,258,259};
#pragma CONST_SEG default
调试时,发现在对应的全局地址0x700000并没有对应的常量数据,变量的逻辑地址都是0‘L,
3 保持同样的定义,在主函数中,增加了对这些变量的调用语句:
   tmp = aa;
   tmp = table1[0];
   tmp = table2[0];

调试时,发现在对应的全局地址0x700000中初始化了常量数据,并且这些常数变量也分配了对应的地址.
感觉是不是对于只有初始化,而没调用的常量参数,在编译过程中都把它给优化掉了?有没有什么办法能在ROM中使用常量定义初始化一些常量参数,而这些参数又是永远不会被程序调用的(需要通过专用工具通过指针去读取,如一些配置信息)
我知道答案 目前已有2人回答
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-7-7 14:51:34 | 显示全部楼层

    RE:求助,s12xe100定义常数变量时的问题

    CONST_DATA     的起始地址没有赋值
    你也可以是用@addr的方式来实现,addr注意是程序地址不是FLASH地址。这个可以在手册FLASH地址列表里面查看的到。
    该会员没有填写今日想说内容.

    该用户从未签到

    1

    主题

    25

    帖子

    0

    新手上路

    Rank: 1

    积分
    39
    最后登录
    1970-1-1
     楼主| 发表于 2011-7-7 20:38:47 | 显示全部楼层

    RE:求助,s12xe100定义常数变量时的问题

    我已经将CONST_DATA 指派给了PAGE_C0,PAGE_C1,
    在prm文件中定义了他们的逻辑地址和页:
    PAGE_C0   = READ_ONLY   DATA_FAR IBCC_FAR  0xC08000 TO 0xC0BFFF;
    PAGE_C1   = READ_ONLY   DATA_FAR IBCC_FAR  0xC18000 TO 0xC1BFFF;
    按理这样定义之后,CONST_DATA数据区的起始地址也就定在0x700000'G了,应该和直接使用@addr的方式一样的吧。
    主要我是想在这块数据区域依次连续定义很多const变量,用@addr需要每个变量都指定一下太麻烦。
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-7-7 21:18:43 | 显示全部楼层

    RE:求助,s12xe100定义常数变量时的问题

    ROM_C000      = READ_ONLY     0xC000 TO   0xFEFF;
    换成这个试试。
    该会员没有填写今日想说内容.
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-26 19:13 , Processed in 0.087548 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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