请教NEC compiler 问题【恢复】
我用CC78K0S编译通过, 但link有下面的问题: *** ERROR F206 Segment '@@DATA' can't allocate to memory - ignored.
*** ERROR F206 Segment '@@INIT' can't allocate to memory - ignored.
我用的是F9222. 下面是MAP文档,
8K/0S Series Linker W1.40 Date:28 Oct 2008 Page: 1
Command: -fmain.plk
Para-file: -yC:\NECTOOLS32\DEV\
main.rel
Out-file: main.lmf
Map-file: main.map
Direc-file:
Directive:
*** Link information ***
12 output segment(s)
C28H byte(s) real data
427 symbol(s) defined
*** Memory map ***
SPACE=REGULAR
MEMORY=ROM
BASE ADDRESS=0000H SIZE=1000H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
* gap * 0000H 0008H
@@VECT08 0008H 0002H CSEG AT
@@VECT08 main 0008H 0002H
* gap * 000AH 000CH
@@VECT16 0016H 0006H CSEG AT
@@VECT16 main 0016H 0006H
* gap * 001CH 0002H
@@VECT1E 001EH 0002H CSEG AT
@@VECT1E main 001EH 0002H
* gap * 0020H 0020H
@@CALT 0040H 0000H CSEG CALLT0
@@CALT main 0040H 0000H
* gap * 0040H 0040H
opt 0080H 0B19H CSEG AT
opt main 0080H 0B19H
@@R_INIS 0B99H 0000H CSEG UNITP
@@R_INIS main 0B99H 0000H
@@CNST 0B99H 0009H CSEG
@@CNST main 0B99H 0009H
@@R_INIT 0BA2H 00FCH CSEG
@@R_INIT main 0BA2H 00FCH
* gap * 0C9EH 0362H
MEMORY=RAM
BASE ADDRESS=FE00H SIZE=0200H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
* gap * FE00H 0020H
@@INIS FE20H 0000H DSEG SADDRP
@@INIS main FE20H 0000H
@@DATS FE20H 0000H DSEG SADDRP
@@DATS main FE20H 0000H
78K/0S Series Linker W1.40 Date:28 Oct 2008 Page: 2
@@DATA FE20H 008BH DSEG
@@DATA main FE20H 008BH
@@BITS FEABH 0000H BSEG
@@BITS main FEABH.0 0000H.0
* gap * FEABH 0055H
* gap (Not Free Area) * FF00H 0100H
78K/0S Series Linker W1.40 Date:28 Oct 2008 Page: 3
*** Not allocated segment ***
SEGMENT SIZE TYPE MEMORY
@@INIT 00FCH DSEG RAM
请教高手, 这是什么问题? 是不是Flash不够用了? @@INIT段用于存放有初值的数据段,@@DATA是无初值的数据段,知道了段的作用,对修改程序也是会有帮助的。
具体可参见CC78K0 C编译器语言篇P528,B1,文档编号U17200EJ1V0UM00。 提醒我了, 是常数太多, 已解决, 非常感谢 不知你能否将你的程序贴上来呢?我今天还帮一个客户解决了类似你这样的问题,他的问题是在程序中定义了大量的变量,我建议他把常量存储在FLASH后,就解决问题了。
希望看着你的代码,这样找问题比较容易 非常感谢, 拿掉上面的option后,
去掉了*** ERROR F206 Segment '@@DATA' can't allocate to memory - ignored.
但还有" *** ERROR F206 Segment '@@INIT' can't allocate to memory - ignored. "
不知道该怎么处理? 请高手指较, 多谢
本贴被 freemann 编辑过,最后修改时间:2008-10-29,09:06:39. 先试着把图片上fix area上的钩去掉
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_472238.JPG
(原文件名:1.JPG)
页:
[1]