Analysis of Common Warnings Encountered in the Keil Programming Environment

Click the image above to follow “Chuangxue Electronics” for easy access to electronic knowledge.

Chuangxue Electronics Subscription Account

Daily updates on technical articles in the electronics industry and the latest news on microcontrollers, making learning easy anytime, anywhere.

1. Warning 280: ‘i’: unreferenced local variable

Explanation: The local variable i is not accessed in any way within the function.

Solution: Remove the declaration of the variable i from the function.

2. Warning 206: ‘Music3’: missing function-prototype

Explanation: The Music3() function is not declared or not declared externally, so it cannot be called by other functions.

Solution: Declare the function as void Music3(void) at the beginning of the program. If it is a function from another file, declare it as extern void Music3(void).

3. Compiling: C:\8051\MANN.C

Error: 318: can’t open file ‘beep.h’

Explanation: During the compilation of C:\8051\MANN.C, the main.c file includes the directive #include “beep.h”, but the file cannot be found.

Solution: Create a header file beep.h and place it in the working directory c:\8051.

4. Compiling: C:\8051\LED.C

Error 237: ‘LedOn’: function already has a body

Explanation: The function name LedOn() is redefined, meaning there are two or more functions with the same name.

Solution: Correct one of the function names to ensure they are unique.

5. ***WARNING 16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

SEGMENT: ?PR?_DELAYX1MS?DELAY

Explanation: The DelayX1ms() function is not called by any other function and will still occupy program memory space.

Solution: Remove the DelayX1ms() function or use conditional compilation #if …..#endif to keep the function without compiling it.

6. ***WARNING 6: XDATA SPACE MEMORY OVERLAP

FROM: 0025H

TO: 0025H

Explanation: The address 0025H in external data ROM is redefined.

Solution: The definition of external data ROM is as follows:

Pdata unsigned char XFR_ADC _at_0x25, where the variable XFR_ADC is defined at 0x25. Please check if there are other variable names also defined at 0x25 and correct them.

7. WARNING 206: ‘DelayX1ms’: missing function-prototype

C:\8051\INPUT.C

Error 267: ‘DelayX1ms’: requires ANSI-style prototype C:\8051\INPUT.C

Explanation: The program calls the DelayX1ms function, but it is not defined, meaning the function content is not written or it is defined but not declared.

Solution: Write the content for DelayX1ms and declare it or declare it externally in the delay.h header file for other functions to call.

8. ***WARNING 1: UNRESOLVED EXTERNAL SYMBOL

SYMBOL: MUSIC3

MODULE: C:\8051\MUSIC.OBJ(MUSIC)

***WARNING 2: REFERENCE MADE TO UNRESOLVED EXTERNAL

SYMBOL: MUSIC3

MODULE: C:\8051\MUSIC.OBJ(MUSIC)

ADDRESS: 0018H

Explanation: The program calls the MUSIC function, but the function’s header file C is not included in the project file for compilation and linking.

Solution: Ensure the MUSIC3 function is in MUSIC C and add MUSIC C to the project file.

9. ***ERROR 107: ADDRESS SPACE OVERFLOW

SPACE: DATA

SEGMENT: _DATA_GROUP_

LENGTH: 0018H

***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL

SYMBOL: VOLUME

MODULE: C:\8051\OSDM.OBJ(OSDM)

ADDRESS: 4036H

Explanation: The address range for data storage is 0~0x7F. When the number of global variables and local variables in functions is set to SMALL storage mode, local variables first use working registers R2~R7 for temporary storage. When memory is insufficient, the number of temporary data-type spaces exceeding 0x7F will result in insufficient address space.

Solution: Change the definition of public variables from data type to idata type.

10. “*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL”

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

If you encounter the above warnings while using the C51 compiler, these are mistakes typically made by beginners and careless individuals: forgetting to add the C file to the project!

Additionally, it may be due to the existence of defined functions that are not called or related defined variables that are not used.

“*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL”

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

If you encounter the above warnings while using the C51 compiler, these are mistakes typically made by beginners and careless individuals: forgetting to add the C file to the project!

Additionally, it may be due to the existence of defined functions that are not called or related defined variables that are not used.

“*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL”

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

If you encounter the above warnings while using the C51 compiler, these are mistakes typically made by beginners and careless individuals: forgetting to add the C file to the project!

Additionally, it may be due to the existence of defined functions that are not called or related defined variables that are not used.

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

How to Share to Moments

Click the top right corner and select Analysis of Common Warnings Encountered in the Keil Programming Environment to share to Moments.

How to Follow “Chuangxue Electronics”

1. Click the top right corner on WeChat, select “+” and click “Add Friends” → Search for “Chuangxue Electronics” in “Find Official Accounts” to find and follow us. 2. You can also search for the WeChat ID “Chuangxue Electronics” to find and follow us.

How to View Historical Messages

Click the top right icon to enter “Account Information” → “View Historical Messages”.

Chuangxue Electronics Subscription Account

WeChat Name: Chuangxue Electronics. Daily updates on various knowledge in the electronics industry and the latest news on microcontrollers to open your visual feast.

Chuangxue Electronics Service Account

WeChat Name: Chuangxue Electronics, a new type of knowledge-sharing platform, view the latest articles, online videos, etc., to enter the world of electronic engineering technology development learning.

==> Visit www.eeskill.com to learn more!

Leave a Comment