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

Why I can't Build?

When I execute Build target, "FATAL ERROR L210:I/O ERROR ON INPUT FILE...." is shown.

Why I can't Build?

Build target 'Target 1'
compiling main.c...
MAIN.C(1): warning C500: SERIAL NUMBER EXPIRED
linking...
BL51 BANKED LINKER/LOCATER V6.11 - SN: D1M9C-0392H5
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
"main.obj"
TO "BitIO"
RAMSIZE(256)
*** FATAL ERROR L210: I/O ERROR ON INPUT FILE: EXCEPTION 0021H: PATH OR FILE NOT FOUND FILE: main.obj
Target not created

(my code)

#include "c8051f320.h" // SFR declarations

/*-----------------------------------------------------------------------------
Definitions
-----------------------------------------------------------------------------*/

typedef unsigned char u8;
typedef unsigned short u16;

sbit LED1 = P2^2; // LED1 ='1' means ON
sbit LED2 = P2^3; // LED2 ='1' means ON

/*-----------------------------------------------------------------------------
MAIN C function
-----------------------------------------------------------------------------*/
void OSCILLATOR_Init(void)
{ OSCICN |= 0x03; // Configure internal oscillator for // its maximum frequency (24.5 Mhz)
}

void PORT_Init(void)
{ P2MDIN |= 0x0F; // Lower four pins on P2 are digital

P2MDOUT = 0x0C; // Enable LEDs as push-pull outputs // Enable Switches as open-drain

P2 |= 0x03; // Set port latches for P2.0 // and P2.1 to '1'

XBR1 = 0x40; // Enable crossbar and enable // weak pull-ups
}

void main(void)
{ //P1_0 = 1; /* Configure P1.0 as an input */ OSCILLATOR_Init(); PORT_Init();

while (1) {

LED1 = 1; // Turn on LED

LED1 = 0; // Else, turn it off

LED2 = 1; // Turn on LED

LED2 = 0; // Else, turn it off

}
}

  • The error message gives a clue!

    You did not need to post your code, it is an error message from the linker.

    "...PATH OR FILE NOT FOUND FILE..."

    The linker could not find a certain path or file. You must find what it cannot access and make it accessible.

  • compiling main.c...
    MAIN.C(1): warning C500: SERIAL NUMBER EXPIRED
    


    This is clearly telling you that your serial number has expired - isn't it?

    linking...
    BL51 BANKED LINKER/LOCATER V6.11 - SN: D1M9C-0392H5
    COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
    "main.obj"
    TO "BitIO"
    RAMSIZE(256)
    *** FATAL ERROR L210: I/O ERROR ON INPUT FILE: EXCEPTION 0021H: PATH OR FILE NOT FOUND FILE: main.obj
    

    The Linker is clearly telling you that it can't find main.obj - isn't it?

    Now, main.obj would be the compiler's output from compiling main.c - wouldn't it?

    But the compiler has already told you that you don't have a valid serial number any more - so it should come as no surprise to find that it hasn't generated an output file!

    And, if the compiler hasn't generated main.obj, then the Linker is obviously not going to be able to find it!

    QED

  • Thank you for your reply

    Please tell me how to solve this problem?

    I try to change "Off-chip Code memory Eprom#1 start 0x800, Size 0x800" on Options for target page.

    But I can't solve it.

    kenji

  • The first step to solving this problem must surely be to read the two previous responses.

  • Thank you for your reply.

    when I confirm "main.obj" in my project directory,I can't find it.
    Why is not there "main.obj"?

    And,

    What is the meaning "MAIN.C(1): warning C500: SERIAL NUMBER EXPIRED
    "?

    kenji

  • "What is the meaning 'MAIN.C(1): warning C500: SERIAL NUMBER EXPIRED'?"

    "Expired" means that something has passed the end of its life or validity:

    dictionary.cambridge.org/.../expire_1

    When you purchased your licence to use the Keil software, you got a Serial Number to "unlock" the software. The Serial Number is the "key" to your licence.

    A licence is valid just for a finite length of time - usually 1 year.

    So, when it says that you serial number has expired, it means that your licence is no longer valid.

    If you want to continue using the software, you need to purchase a new licence.

    You need to speak directly to Keil (or your local agaent) about that:

    http://www.keil.com/company/contact.asp

  • The message was about the Serial Number - what on earth do you think that has to do with the Off-Chip Memory options?!