打印
[8/16-bit MCU]

【版主大大!】关于S12的PPAGE和内存分配问题(已解决)

[复制链接]
2050|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lixianghua0428|  楼主 | 2014-4-27 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 FSL_TICS_A 于 2014-5-5 12:56 编辑

(1)请教版主大大,我在使用S12XDP512单片机开发程序的过程中,由于数组表格比较大,整个程序已经超过这32K的FLASH:   ROM_C000, ROM_4000;编译报错“out of allocation space in segment ROM_4000 at address 0x8000”,搜了网上的方法,用户自己定义CODE段,映射地址,做如下修改,
在prm文件中映射了地址:
USER_DEF_ROM0  INTO           PAGE_FE;(注释掉PAGE_FE原来映射段)
修改程序:
#pragma CODE_SEG  USER_DEF_ROM0
void XXX(void)
{
     //数组表格定义,8K data
}
#pragma CODE_SEG  DEFAULT
但是编译依旧报错,提示上述相同的错误,泪奔啊有木有!!!难道就不能用其他的页地址了?!!!
以下是prm文件的定义:
PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */
      _PRESTART,              /* Used in HIWARE format: jump to _Startup at the code start */
      STARTUP,                /* startup data structures */
      ROM_VAR,                /* constant variables */
      STRINGS,                /* string literals */
      VIRTUAL_TABLE_SEGMENT,  /* C++ virtual table segment */
    //.ostext,                /* eventually OSEK code  */
      NON_BANKED,             /* runtime routines which must not be banked */
      COPY                    /* copy down information: how to initialize variables */
                              /* in case you want to use ROM_4000 here as well, make sure
                                 that all files (incl. library files) are compiled with the
                                 option: -OnB=b */
                        INTO  ROM_C000, ROM_4000;

      DEFAULT_ROM       INTO           PAGE_FE,          PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8,
                              PAGE_F7, PAGE_F6, PAGE_F5, PAGE_F4, PAGE_F3, PAGE_F2, PAGE_F1, PAGE_F0,
                              PAGE_EF, PAGE_EE, PAGE_ED, PAGE_EC, PAGE_EB, PAGE_EA, PAGE_E9, PAGE_E8,
                              PAGE_E7, PAGE_E6, PAGE_E5, PAGE_E4, PAGE_E3, PAGE_E2,
                              /* PAGE_E1 intentionally not listed: assigned to XGATE */
                              /* PAGE_E0 intentionally not listed: assigned to XGATE */
                              ;/*PAGE_E0_0;*/
USER_DEF_ROM0   INTO         PAGE_E0_0;   

(2)另外,请问DEFAULT_ROM 用来存代码和数据了吗?在#pragma CODE_SEG  DEFAULT中的这个DEFAULT对应的是以上DEFAULT_ROM还是ROM_C000, ROM_4000的内存,是否需要再程序中设置PPAGE,求解?


相关帖子

沙发
FSL_TICS_ZJJ| | 2014-4-28 09:41 | 只看该作者
楼主你好,关于16位的问题,建议你到官网建立一个技术服务请求,然后描述清楚你的问题,那里会有更多相关的专家帮你解决,
建立服务请求的链接为:https://www.freescale.com/zh-Han ... create_SR.framework

使用特权

评论回复
板凳
ticat710| | 2016-10-19 13:26 | 只看该作者
我也遇到了这个问题,字库怎么存入分页区?? 专家不知道去哪里了,叫人网上发Email,用英文去问,可是每次注册一个号,下次就进不了了,说身份验证失败,让重新设置密码,再进去还是老样子,这就是糊弄人啊,不知道兄弟当时怎么解决的????

使用特权

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

本版积分规则

个人签名:追寻一种生活,做内心的自己!

3

主题

192

帖子

1

粉丝