This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BL51 warning


This is a problem of warning 16. i have tried the solution given in keil site
"
This warning occurs when functions which are not called are contained in a program (e.g. for test purposes). The function specified is excluded from the overlay process in this case. Often this warning is accompanied by
ERROR 107: ADDRESS SPACE OVERFLOW
If you fix the uncalled warning the Error 107 is often cleared as well.
There are two ways to solve this problem.
1. Call the uncalled function from somewhere in your program.
2. Remove or #if out the function that is not called. You can do that using #if 0 in front of and #endif after the uncalled function. For example:
#if 0
void uncalled_function (void)
{ }
#endif"

even after each one of above the problem persists.
Would you please throw some light.

The errors are pasted as below.
*** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?RI2C_SLAVEADDRESSRECEIVED?RI2C_DCN

*** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?RI2C_SLAVESEND?RI2C_DCN

*** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?RI2C_SLAVERECEIVE?RI2C_DCN

*** WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_MOVXD0?CLIB

*** ERROR 107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?TEXTVARS
LENGTH: 0001H

*** ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: TXTREQ
MODULE: ..\APPLIC\LIB\T90PTR1.LIB (TXREVEAL)
ADDRESS: A13CH

Parents
  • Thanq..
    But the warning 16 reads removing this warning can remove "address space error" too.

    Mean while i have checked the method given in site to solve this which is as follows
    ======
    *** ERROR 107: ADDRESS SPACE OVERFLOW
    SPACE: DATA
    SEGMENT: _DATA_GROUP_
    LENGTH: 0014H

    Above error specifies that a 14h byte long segment named _DATA_GROUP_ can't fit in the remaining DATA space. Referring to the link map, the DATA space starts at 8h and has a single segment ?DT?ASDFASDF that occupies 65h bytes. Since the DATA space is 80h bytes max., we can calculate the space remaining as 80h - (8h+65h) = 80h - 6Eh = 12h. So, there are only 12h bytes left in the DATA space. Since the _DATA_GROUP_ is 14h bytes long, it can't fit in the remaining 12h bytes.
    =====
    I calculated my project space which comes to 72h which means i have 8h remaining, but then why it cannot allot 1h.
    my data space is allotted like below..
    DATA 0010H 000AH UNIT ?DT?RI2C_DCN
    DATA 001AH 0006H UNIT ?DT?UIMN
    DATA 0020H 0001H BIT_ADDR RI2C_BITADR
    DATA 0021H 0002H BIT_ADDR ?BA?TEXTVARS
    DATA 002FH 0021H UNIT _DATA_GROUP_
    DATA 0050H 0006H UNIT ?DT?HWSN
    DATA 0056H 0006H UNIT RI2C_PAR
    DATA 005CH 0004H UNIT ?DT?OSRC
    DATA 0060H 0004H UNIT ?DT?PA
    DATA 0064H 0003H UNIT ?DT?OSKB_AN
    DATA 0067H 0003H UNIT ?DT?UILK
    DATA 006AH 0002H UNIT ?DT?HWOD
    DATA 006CH 0002H UNIT ?DT?HWTN
    DATA 006EH 0002H UNIT ?DT?SN
    DATA 0070H 0002H UNIT ?DT?VD
    DATA 0072H 0002H UNIT RI2C_INTTMP
    DATA 0074H 0002H UNIT ?DT?_MOVXD0?CLIB
    DATA 0076H 0001H UNIT ?DT?HWTV
    DATA 0077H 0001H UNIT ?DT?MS
    DATA 0078H 0001H UNIT OSTIVAR
    DATA 0079H 0001H UNIT ?DT?SM
    DATA 007AH 0001H UNIT ?DT?SS
    DATA 007BH 0001H UNIT ?DT?TNFR
    DATA 007CH 0001H UNIT ?DT?UIPC
    DATA 007DH 0001H UNIT ?DT?UIBG
    DATA 007EH 0001H UNIT ?DT?UIFM
    DATA 007FH 0001H UNIT ?DT?UIRK

    Is there any other way to checkout this problem?
    Please let me have your reply..

Reply
  • Thanq..
    But the warning 16 reads removing this warning can remove "address space error" too.

    Mean while i have checked the method given in site to solve this which is as follows
    ======
    *** ERROR 107: ADDRESS SPACE OVERFLOW
    SPACE: DATA
    SEGMENT: _DATA_GROUP_
    LENGTH: 0014H

    Above error specifies that a 14h byte long segment named _DATA_GROUP_ can't fit in the remaining DATA space. Referring to the link map, the DATA space starts at 8h and has a single segment ?DT?ASDFASDF that occupies 65h bytes. Since the DATA space is 80h bytes max., we can calculate the space remaining as 80h - (8h+65h) = 80h - 6Eh = 12h. So, there are only 12h bytes left in the DATA space. Since the _DATA_GROUP_ is 14h bytes long, it can't fit in the remaining 12h bytes.
    =====
    I calculated my project space which comes to 72h which means i have 8h remaining, but then why it cannot allot 1h.
    my data space is allotted like below..
    DATA 0010H 000AH UNIT ?DT?RI2C_DCN
    DATA 001AH 0006H UNIT ?DT?UIMN
    DATA 0020H 0001H BIT_ADDR RI2C_BITADR
    DATA 0021H 0002H BIT_ADDR ?BA?TEXTVARS
    DATA 002FH 0021H UNIT _DATA_GROUP_
    DATA 0050H 0006H UNIT ?DT?HWSN
    DATA 0056H 0006H UNIT RI2C_PAR
    DATA 005CH 0004H UNIT ?DT?OSRC
    DATA 0060H 0004H UNIT ?DT?PA
    DATA 0064H 0003H UNIT ?DT?OSKB_AN
    DATA 0067H 0003H UNIT ?DT?UILK
    DATA 006AH 0002H UNIT ?DT?HWOD
    DATA 006CH 0002H UNIT ?DT?HWTN
    DATA 006EH 0002H UNIT ?DT?SN
    DATA 0070H 0002H UNIT ?DT?VD
    DATA 0072H 0002H UNIT RI2C_INTTMP
    DATA 0074H 0002H UNIT ?DT?_MOVXD0?CLIB
    DATA 0076H 0001H UNIT ?DT?HWTV
    DATA 0077H 0001H UNIT ?DT?MS
    DATA 0078H 0001H UNIT OSTIVAR
    DATA 0079H 0001H UNIT ?DT?SM
    DATA 007AH 0001H UNIT ?DT?SS
    DATA 007BH 0001H UNIT ?DT?TNFR
    DATA 007CH 0001H UNIT ?DT?UIPC
    DATA 007DH 0001H UNIT ?DT?UIBG
    DATA 007EH 0001H UNIT ?DT?UIFM
    DATA 007FH 0001H UNIT ?DT?UIRK

    Is there any other way to checkout this problem?
    Please let me have your reply..

Children
No data