Hi people, I'm using the old version of Keil compiler uVison 1. The linker is BL51 V3.70 I'm building my project from a batch file where I'm invoking the linker by the following command :
bl51 startup.obj, init.obj, rrex.obj, main.obj, uart.obj, glcd.obj, cmdp.obj, hi2c.obj, boot.obj TO TRX RS(256)
*** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?C_INITSEG *** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_HI2C_SENDI2C?HI2C *** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_HI2C_RECEIVEI2C?HI2C LINK/LOCATE RUN COMPLETE. 3 WARNING(S), 0 ERROR(S)
bl51 startup.obj, init.obj, rrex.obj, main.obj, uart.obj, glcd.obj, cmdp.obj, hi2c.obj, boot.obj, hrtc.obj TO TRX RS(256)
*** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?C_INITSEG *** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?HRTC_INIT?HRTC *** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_HRTC_SETDATE?HRTC *** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?HRTC_READDATE?HRTC LINK/LOCATE RUN COMPLETE. 4 WARNING(S), 0 ERROR(S)
Your problems may be caused since the startup code and init code are not the last 2 files in the obj file list. Refer to the following knowledgebase article. http://www.keil.com/support/docs/752.htm A question I have is, why are you forcing the init file to be included? This is done automatically by the linker when this file is required. Jon