Keil & Dos file names

Keil & Dos file names

2
NewbieNewbie
2

    Nov 25, 2008#1

    I ported a Silab project, (using Keil Version 8 compiler), but could not link the project correctly. I then saw that the file names are truncated to the old DOS style. However if the file names are short (less than eight) this causes no problem, but with file names with an underscore or longer it does. I need a linker setting "CODE (?PR?*?LOADER_F33X(7000H))" for instance, but the file is now "LOADER_1" instead of "LOADER_F33X". The second problem is that if I want to compile a single file with "shift F7", and the file name is long or with an underscore in, it only replies with.

    "--------------------Configuration: romeo - Debug--------------------
    don't know how to make 'eeprom_i2c.obj'
    eeprom_i2c.obj - 0 error(s), 0 warning(s).


    The third problem is that these names is also in the debugging info.

    These files however if build, does compile with no error.

    Why are the file names truncated to DOS format, or how can I force "long file names"?

    Thanks in Advance


    Old system output (correct)
    //---------------------------------------
    BL51 BANKED LINKER/LOCATER V6.02, INVOKED BY:
    C:\SILABS\KEIL\C51\BIN\BL51.EXE C:\8051\integrat\romeo\var.obj, C:\8051\integr
    >> at\romeo\checksum.obj, C:\8051\integrat\romeo\eeprom_i2c.obj, C:\8051\integ
    >> rat\romeo\loader_F33x.obj, C:\8051\integrat\romeo\main.obj, C:\8051\integra
    >> t\romeo\romeo_hw_init.obj, C:\8051\integrat\romeo\uart.obj, C:\8051\integra
    >> t\romeo\util.obj, C:\8051\integrat\romeo\main_modem.obj, C:\8051\integrat\r
    >> omeo\gprintf.obj, C:\8051\integrat\romeo\modem.obj TO C:\8051\integrat\rome
    >> o\romeo RS (256) PL (68) PW (78) CODE (?PR?*?LOADER_F33X (7000H))

    // New project output
    BL51 BANKED LINKER/LOCATER V6.02, INVOKED BY:
    BL51 CHECKSUM.OBJ, EEPROM~1.OBJ, LOADER~1.OBJ, MAIN.OBJ, ROMEO_~1.OBJ, UART.OB
    >> J, VAR.OBJ, UTIL.OBJ, MODEM.OBJ, MAIN_M~1.OBJ, GPRINTF.OBJ TO ROMEO.O51 RS
    >> (256) PL (68) PW (78) CODE (?PR?*?LOADER_1 (7000H))

    6,687586
    Grand MasterGrand Master
    6,687586

      Dec 02, 2008#2

      Click on Build - Set Compiler Options and look if you can see a setting for using old DOS format for file names or not.

      If there is no such setting do following:

      Click on Build - Select Compiler and verify having selected the correct compiler.

      Click in this dialog on button Edit Configuration. The dialog increases and shows you now on right side the compiler config file.

      Scroll down in the config file to the section [General] and search there for following line:

      UseDosNames=1

      Change the value to 0, press button Make Configuration Local and then Save Configuration.

      Hopefully your compiler is really a 32 bit console application supporting long file names.
      Best regards from an UC/UE/UES for Windows user from Austria

      2
      NewbieNewbie
      2

        Dec 02, 2008#3

        Thanks, yes that did the trick.

        Regards