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

Error: UNRESOLVED EXTERNAL SYMBOL and REFERENCE MADE TO UNRESOLVED EXTERNAL

Hello everyone,

I am using Keil uVision2 to write my assembler code. I am always getting the same error. I searhed on Google and everbody says the solution is in the Keil manual but I could not find anything. To make it clear, I would want to say what I did so far.

1. Created a project,
2. Selected Atmel T89C51CC01,
3. Clicked new button and wrote my assembler code,
4. I added .asm code in the project.
5. Compile it and get the warnings.

Here is .plg file:

Build target 'Target 1'
assembling STARTUP.A51...
assembling defa.asm...
linking...

*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  ?C_START
    MODULE:  STARTUP.obj (?C_STARTUP)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  ?C_START
    MODULE:  STARTUP.obj (?C_STARTUP)
    ADDRESS: 000DH
Program Size: data=9.0 xdata=0 code=4131
creating hex file from "my"...
"my" - 0 Error(s), 2 Warning(s).

Parents
  • "So, after startup code run, it redirect automatically to my main function."

    But you only need that if you're writing in 'C' - you said you're not using 'C', just assembler?

    "If I want to write .asm codes, I need to use #pragma ASM #pragma ENDASM tags."

    Only if you are embedding your assembler within 'C' code - which, you said, you're not?

    "I have just created a .c file"

    Why?? You said you just wanted to write assembler - not 'C'?!

    "Does this .hex file contain startup code?"

    The Hex file contains whatever your project contained!

Reply
  • "So, after startup code run, it redirect automatically to my main function."

    But you only need that if you're writing in 'C' - you said you're not using 'C', just assembler?

    "If I want to write .asm codes, I need to use #pragma ASM #pragma ENDASM tags."

    Only if you are embedding your assembler within 'C' code - which, you said, you're not?

    "I have just created a .c file"

    Why?? You said you just wanted to write assembler - not 'C'?!

    "Does this .hex file contain startup code?"

    The Hex file contains whatever your project contained!

Children