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

Project won't compile

I have recently been given project files for an old project that I was told was working on a NXP LPC2388 board. When I open the project in uVision3 it has two files that are red and it won't compile or build. I keep getting the same errors.

error - can't create command input file 'lpc2300._ia'

For every time I click build and

error - can't create command input file 'manual_mode_layout.__i'

For when I click compile.

I've never used this software before and there is nothing anyone can tell me other than the guy who was here before you had it working. I was given a bunch of disks to install the software, a lot of it looked redundant. Maybe that's my problem?

The missing files are:

FS_ARM_L.lib
MCI_LPC23xx.c
-file_config.h
-mci_lpc23xx.h

Basically I just need to get this project flashed to the board and I can't even get it to compile. I would appreciate any help you could offer.

  • Could part of the problem be the project lies in a drive that I don't have write access to?

  • maybe. but you also need to install a version of RL-ARM on your machine (somebody over there should have it...) to accommodate that missing library.

  • I have 3 disks:

    1.) uVision3 - LPC Development Studio -07.2007
    2.) Keil Development Tools CD-ROM - release 8.2008
    3.) Keil Development Tools CD-ROM - release 2.2008

    Which disk would that be on?

  • that's old software you have there. you are looking for an executable called "rlarm???.exe".

  • Is this something that had to be previously downloaded? Apparently the license they bought has expired and I can't download it from the site.

  • Better contact Keil support, then.

  • John;
    You said that you just want to flash to your target. Did you look for a ".hex" file in the project files? That's all you need if you are lucky enough to have a complete project file.
    Bradford

  • I'll try that but pretty much I was given a folder with a project in it. I found it the problems that fixed those errors and now i'm getting a bunch of these errors:


    Build target 'Target 1'
    linking...
    versapower.axf: Error: L6218E: Undefined symbol SWI_Handler (referred from lpc2300.o).
    versapower.axf: Error: L6218E: Undefined symbol __fclose (referred from retarget.o).

    The ocmpleted part comes from my supervisor saying that the previous employee had the project in some form on the board and was visually showing him stuff. That being said I don't have access to the employee's previous computer files just a folder with the project code in it.

  • Well I found a hex file but I'm not sure how to get that to the board. I tried to use Flash Magic but it keeps failing at step 1 to autobuad. I'm using the ULINK2 device connected to JTAG.

  • use

    uv3 -f <path to project> -t <target name>
    

    from the command line, or directly via uv3 IDE. Don't forget to configure JTAG interface first, if not setup in the project file.

  • Well lets back up a step and say how do I get the example program blinky to get flashed to the board. After I build it and click flash I get a no JTAG devices found error.

  • Well I figured out the flashing part. Now, I just need some help on figuring out why the code won't compile.

    versapower.axf: Error: L6218E: Undefined symbol SWI_Handler (referred from lpc2300.o).
    versapower.axf: Error: L6218E: Undefined symbol __fclose (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol __flushbuf (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol __fopen (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol __getfsize (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol __read (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol __setfpos (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol __write (referred from retarget.o).
    versapower.axf: Error: L6218E: Undefined symbol isr_evt_set (referred from display.o).
    versapower.axf: Error: L6218E: Undefined symbol os_mbx_send (referred from display.o).
    versapower.axf: Error: L6218E: Undefined symbol os_evt_get (referred from encoder.o).
    versapower.axf: Error: L6218E: Undefined symbol os_evt_wait (referred from encoder.o).
    versapower.axf: Error: L6218E: Undefined symbol os_tsk_pass (referred from encoder.o).
    versapower.axf: Error: L6218E: Undefined symbol GetOutReport (referred from hiduser.o).
    versapower.axf: Error: L6218E: Undefined symbol InReport (referred from hiduser.o).
    versapower.axf: Error: L6218E: Undefined symbol OutReport (referred from hiduser.o).
    versapower.axf: Error: L6218E: Undefined symbol ffind (referred from jobs.o).
    versapower.axf: Error: L6218E: Undefined symbol ffree (referred from jobs.o).
    versapower.axf: Error: L6218E: Undefined symbol _init_box (referred from main.o).
    versapower.axf: Error: L6218E: Undefined symbol os_dly_wait (referred from main.o).
    versapower.axf: Error: L6218E: Undefined symbol os_evt_set (referred from main.o).
    versapower.axf: Error: L6218E: Undefined symbol os_sys_init0 (referred from main.o).
    versapower.axf: Error: L6218E: Undefined symbol os_tsk_create0 (referred from main.o).
    versapower.axf: Error: L6218E: Undefined symbol os_tsk_delete (referred from main.o).
    

    These are the errors I'm getting.

  • Here's come more stuff.

    For example, __fclose is used in retarget.c here

    /*--------------------------- _sys_close ------------------------------------*/
    
    int _sys_close (FILEHANDLE fh) {
       if (fh > 0x8000) {
          return (0);
       }
       return (__fclose (fh));
    }
    -------------------------------------------------------
    

    Now if we look at the header file, file_config.h, included in retarget.c's decleration:

    extern int  __fclose (int handle);
    


    Therefore, I dont' understand why the errors are being generated. I included the file_config.h in the retarget.c file. That is normally what you do when you define symbols. Is there something I'm missing?

  • Your project doesn't fail to compile.

    It fails to link.

    And no - you include header files for the compilation step.

    But you need to specify what libraries to add in for the linking step.

    "extern int __fclose (int handle);" obviously does not contain any implementation of any __fclose() function. That implementation is in either a source file or a compiled version in an object file or in a library file.

    The linker complans that it doesn't have access to the compiled result of a number of files.