Линковка в Keil С51 с Small и Compact
Столкнулся с такой проблемой. Для работы с энным девайсом пишется программа, базирующаяся на примерер от производителя, программа разрослась, и вроде-бы все нормально, НО:
Сейчас у меня стоит 6ой уровень Оптимизации и модель памяти Компакт. При линковке выдаеются вот такие сообщения:
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DELAY?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_PUTLTOA?SERIAL
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_VERIFYIPADDRESS?SOCKUTIL
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: GETBYTE
MODULE: SOCKUTIL.obj (SOCKUTIL)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: GETBYTE
MODULE: SOCKUTIL.obj (SOCKUTIL)
ADDRESS: 126FH
Страшно, пугает, но вроде-бы работает. Но смотря в пример, который изначально был раза в два побольше чем мое текущее творение узрел что там модель памяти стоит Small и решил у себя то же поставить... Итого кроме предыдущих ошибок имею кучу новых:
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?C?LIB_DATA
LENGTH: 0001H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?C_IBP
MODULE: SERIAL.obj (SERIAL)
ADDRESS: 208EH
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_MEMCOPY?BYTE
SEGMENT: ?DT?_MEMCOPY?UTIL
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: ?_REPLACEALL?BYTE
SEGMENT: ?DT?_REPLACEALL?UTIL
Кучу, это значит что их таких намного больше. Собственно вопрос: как бы эти недоразумения исправить?
Заранее благодарен за ответы и советы.
|