jnyyz 发表于 2023-8-31 20:55:02

STC8H8K64U升级到STC32G12K128,出现C251编译错误,请高手帮助看看都需要如何调整解决

CLASSES (EDATA (0x0-0xFFF),
HDATA (0x0-0xFFF))
*** ERROR L115: PARTIAL SEGMENT BELONGS TO DIFFERENT MEMORY CLASS
    SEGMENT: ?STACK
    MODULE:D:\PROGRAM FILES (X86)\KEIL\C251\LIB\C2SXS.LIB (?C_START)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:?C_STARTUP
    MODULE:D:\PROGRAM FILES (X86)\KEIL\C251\LIB\C2SXS.LIB (?C_START)
   DEFINED:STARTUP.obj (?C_STARTUP)
*** WARNING L30: MEMORY SPACE OVERLAP
    SEG:   ?CO?STARTUP?3
    FROM:    FF0000H   
    TO:      FF0003H   
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:?C_START
    MODULE:STARTUP.obj (?C_STARTUP)
*** ERROR L119: REFERENCE MADE TO ERRONEOUS SEGMENT
    SEGMENT: ?C_C51STARTUP
    MODULE:STARTUP.obj (?C_STARTUP)
    ADDRESS: FF5800H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:?C_START
    MODULE:STARTUP.obj (?C_STARTUP)
    ADDRESS: FF5802H
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:P1n_pure_input
    MODULE:StcRtc.obj (StcRtc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:?P1n_pure_input?BYTE
    MODULE:StcRtc.obj (StcRtc)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:P1n_pure_input
    MODULE:StcRtc.obj (StcRtc)
    ADDRESS: FF6F5CH
*** ERROR L119: REFERENCE MADE TO ERRONEOUS SEGMENT
    SEGMENT: ?C_C51STARTUP
    MODULE:D:\PROGRAM FILES (X86)\KEIL\C251\LIB\C2SXS.LIB (?C_START)
    ADDRESS: FF5815H
******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 9AE5H BYTE (1936%) *
******************************************************************************
Program Size: data=17.3 edata+hdata=2718 xdata=0 const=9321 code=31633
*** ERROR L115: PARTIAL SEGMENT BELONGS TO DIFFERENT MEMORY CLASS
    SEGMENT: ?STACK
    MODULE:D:\PROGRAM FILES (X86)\KEIL\C251\LIB\C2SXS.LIB (?C_START)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:?C_STARTUP
    MODULE:D:\PROGRAM FILES (X86)\KEIL\C251\LIB\C2SXS.LIB (?C_START)
   DEFINED:STARTUP.obj (?C_STARTUP)
*** WARNING L30: MEMORY SPACE OVERLAP
    SEG:   ?CO?STARTUP?3
    FROM:    FF0000H   
    TO:      FF0003H   
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:?C_START
    MODULE:STARTUP.obj (?C_STARTUP)
*** ERROR L119: REFERENCE MADE TO ERRONEOUS SEGMENT
    SEGMENT: ?C_C51STARTUP
    MODULE:STARTUP.obj (?C_STARTUP)
    ADDRESS: FF5800H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:?C_START
    MODULE:STARTUP.obj (?C_STARTUP)
    ADDRESS: FF5802H
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:P1n_pure_input
    MODULE:StcRtc.obj (StcRtc)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:?P1n_pure_input?BYTE
    MODULE:StcRtc.obj (StcRtc)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:P1n_pure_input
    MODULE:StcRtc.obj (StcRtc)
    ADDRESS: FF6F5CH
*** ERROR L119: REFERENCE MADE TO ERRONEOUS SEGMENT
    SEGMENT: ?C_C51STARTUP
    MODULE:D:\PROGRAM FILES (X86)\KEIL\C251\LIB\C2SXS.LIB (?C_START)
    ADDRESS: FF5815H
*** ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
    LIMIT:   0800H BYTES
Target not created.

乘风飞扬 发表于 2023-9-1 09:15:16

RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT
这个提示说明你的C251编译器没有注册,或者注册码过期。
另外你之前STC8H的项目是不是添加了51的启动文件?如果有的话转到251平台后需要将启动文件删掉。
还有个别函数应该是在8H头文件里定义的,例如:P1n_pure_input,也需要进行移植。
页: [1]
查看完整版本: STC8H8K64U升级到STC32G12K128,出现C251编译错误,请高手帮助看看都需要如何调整解决