首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

错误L1102 ROM空间分配错误

错误L1102 ROM空间分配错误

本帖最后由 wilson0218 于 2011-6-11 16:38 编辑

编译时提示错误L1102ut of allocation space in segment ROM_C000 at address 0xC335


我的工程中有一个C文件编译后大约5k左右大小,我发现将这个文件中的一个函数删掉一部分的时候,编译能通过,但不知问题在哪。
我定义的ROM_C000一共16k左右,而且错误地址是在0xC335。

不明白

      _PRESTART,         
      ……
      COPY  INTO  ROM_C000;
是什么意思,而问题似乎出在这里,不明白这和我程序在程序中调用的函数有什么关系,当我把函数改短或者不调用这个函数的时候却能通过编译。
这个问题已经困扰了我好几个星期了,希望版主能帮帮忙。

以下是我的prm文件
SEGMENTS  /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
      RAM           = READ_WRITE    0x2000 TO   0x3FFF;
      RAM_378000    = READ_WRITE  0x378000 TO 0x37BFFF;
      RAM_368000    = READ_WRITE  0x368000 TO 0x36BFFF;
      ROM_C000      = READ_ONLY     0xC000 TO   0xFEFF;
      PAGE_38       = READ_ONLY   0x388000 TO 0x38BFFF;
      PAGE_39       = READ_ONLY   0x398000 TO 0x39BFFF;
END

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 */
      NON_BANKED,         /* runtime routines which must not be banked */
      COPY              INTO  ROM_C000;

      DEFAULT_ROM       INTO  PAGE_38;
      MY_CODE INTO  PAGE_39;

      DEFAULT_RAM             /* all variables, the default RAM location */
                        INTO  RAM,RAM_378000, RAM_368000;
END
DataTest5.rar (708.54 KB)
本帖最后由 wilson0218 于 2011-6-11 16:21 编辑

另外,我的工程用到浮点数运算,在文件组织窗口里显示source一共是code有6k,data有18k
返回列表