Board logo

标题: 错误L1102 ROM空间分配错误 [打印本页]

作者: wilson0218    时间: 2011-6-10 23:30     标题: 错误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)

附件: [工程文件] DataTest5.rar (2011-6-11 16:38, 708.54 KB) / 下载次数 279
http://bbs.eccn.com/attachment.php?aid=11521&k=266534b2d4dc663645cf02abf72bc9c1&t=1732777021&sid=w1wjhR
作者: wilson0218    时间: 2011-6-11 14:35

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

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




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0