This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Tag_Memory_Model attribute error?

Guru 15580 points

Can anyone offer help on solving this error?

Severity and Description Path Resource Location Creation Time Id
file "C:/Program Files/TI2/ccsv4/tools/compiler/c5500/lib/rts55h.lib<exit.obj>" has a Tag_Memory_Model attribute value of "3" that is different than one previously seen ("2"); combining incompatible files  Audio_Filter_Demo line 0 1274390937097 3310

Thx

MikeH

  • Ki,

    ...:) Very funny. This is a different problem. This is a pre-complied library that I cannot re-compile with a different memory model setting.....or can I?

  • haha actually I didn't realize that you were the originator of the other post. I just recalled the error message without checking who the thread originators were... sorry! :-P

    Anyway that message is when memory models do not match. You can try using a different lib. The "rts55h.lib" is the lib for the huge memory model and looks like your project is "large" so just try the other library in the same directory (the one without the "h" - I guess "h" means huge).

    ki

  • Mike

     

    At the end of the thread Ki forwarded it tells you what is wrong.  basically the RTS library you have included is build with a different memory model then your application.  You need to decide which model you want and then build your app with that model and choose the matching RTS library.

    you are likely building your application with large memory model and have the huge memory model RTS library selected.

    John

     

  • Ki, John,

    Thanks for the feedback.

    Ki, no problem. It was somewhat humerous to see your response quoting my discovery.... Unfortunately, it doesn't apply here.

    John, Yes, I now understand that the library memory models don't match. Unfortunately, being a novice at this, I don't quite understand how to fix the problem. I don't know that I actaully "included" the library in question. There are several "included" files in my CC4 project that I do not recognize. I can only conclude that they were automatically added when I specified the C55xx as my target.

    Here's a screenshot of what is in my include files.

     

    From the above listing I do not understand how to switch the improperly included library file to the correct file. How would you suggest that I go about changing the improperly included file to the correct file?

    Here's the list of files in the "inc" directory:

    MikeH

     

  • CCS will automatically select a library for you. But you can explicitly choose one by right-clicking on your project in the C/C++ Projects view and selecting Build Properties in the context menu. From there you can specify the runtime library you wish to use:

     

    ki

  • Ki,

    Thanks for the suggestion, but my Build Properties window does not list a runtime library, and will not allow me to select one. The drop down menu and Browse buttons are inoperable. Am I looking in the correc place? Also, we appear to be using different version of CCS4, unless I am looking at the wrong config window.

  • Looking at your BIOS and CGT version, you definately do have an older version of CCS. Mine is 4.1.2 (latest).

    Anyway you can also simply use the 'Browse' button and select the library that way if the drop down is empty (should be in: \ccsv4\tools\compiler\c5500\lib)

    ki

  • Yes, I am using 4.1.0 since 4.1.2 caused an unresolved installation problem on my machine.

    I have discovered that the Runtime Support Library drop down menu and browse buttons are not activated until you select Device Variant first. Then you can select a library from the drop down menu.

    HOWEVER, I have tried several libraries and none seem to allow a complet build+link. There is no binary generated. Also, the project icon now contains RTSC instead of "C". I'm not sure what I've done, but the build process will not produce a binary output file.

     

  • ...additionally, I am getting the following errors during building, as though I have selected either the wrong target or the wrong runtime support library.

    >> WARNING: version specified in option -v5515 is unknown (ignored)

    "../vector.asm", REMARK at line 221: [R5672] If there is a long MMR write with

    no intervening single MMR before

    this return from interrupt, then

    an interrupted conditional

    execution may be corrupted; (see

    the C55x silicon exceptions

    errata; Advisory CPU_94)

    return_int

     

    "../vector.asm", REMARK at line 221: [R5674] If processor is in fast-return

    mode, and this return from

    interrupt instruction is stalled

    in the ADDRESS or ACCESS1 phase,

    then the execution of a

    subsequent conditional execution

    may be corrupted; (see the C55x

    silicon exceptions errata;

    Advisory CPU_99)

    return_int

     

    "../vector.asm", REMARK at line 221: [R5675] An MMR write to the RPTC register

    that is close to this return

    from interrupt instruction may

    cause an interrupted single

    repeat loop's execution to be

    corrupted; (see the C55x silicon

    exceptions errata; Advisory

    CPU_100)

    return_int

  • The v5515 option isn't available in the 4.3.5 compiler, it first shows up in 4.3.6.  You can download 4.3.6 via update manager.  If you want to stick with the 4.3.5 compiler use the v5505 option instead.  This option lets the compiler know which version of the C55x core is being used.

    As far as RTS libraries for me when I run through the wizard the RTS library is set as <automatic>, with this setting the linker will choose the appropriate library based on the other build options that I have set.   

    You likely want your options set to large memory model.  In the build options go to "Runtime Model Options" and check the box for "Use large memory model".  Then go to the linker options and go to "File Search Path".  The top box is where you specify which RTS library to use.  If there is a libc.a there it means that the automatic selection is on, if it is blank click the + icon and select rts55x.lib.  Normally the memory model is setup automatically by the project wizard when you select a specific device like 5515 but unfortunately 5515 doesn't show up in that list yet.

     

    John

  • John, Ki,

    Thanks for the input. I have successfully updated to V4.3.6 compiler, which seems to have fixed most of the errors reported earlier. However, I am consistently having the following error saying the compiler cannot fild the "fir.asm" file, which is clearly in my project directory. Can you detect why the compiler cannot find this file?

    Thanks

    MikeH

    ==============================

    **** Build of configuration Debug for project Audio_Filter_Demo ****

     

    C:\Program Files\TI2\ccsv4\utils\gmake\gmake -k all

    'Building file: ../fir.asm'

    'Invoking: Compiler'

    "C:/Program Files/TI2/ccsv4/tools/compiler/C5500 Code Generation Tools 4.3.6/bin/cl55" -v5515 --symdebug:coff --define="_DEBUG" --define="C55X" --include_path="C:/Program Files/TI2/ccsv4/tools/compiler/C5500 Code Generation Tools 4.3.6/include" --include_path="C:/Documents and Settings/Mike/My Documents/workspace/C5515_eZdsp_Audio_Filter_Demo/project/Debug" --include_path="C:/Program Files/TI2/bios_5_41_02_14/packages/ti/rtdx/include/c5500" --include_path="C:/Documents and Settings/Mike/My Documents/workspace/C5515_eZdsp_Audio_Filter_Demo/inc" --include_path="C:/Program Files/TI2/bios_5_41_02_14/packages/ti/bios/include" --diag_warning="225" --ptrdiff_size=32 --algebraic --no_mac_expand --memory_model=large --asm_source=mnemonic "../fir.asm"

    ERROR! : Cannot open source file 14: No such file or directory

     

    >> Compilation failure

    C:\Program Files\TI2\ccsv4\utils\gmake\gmake: *** [fir.obj] Error 1

    C:\Program Files\TI2\ccsv4\utils\gmake\gmake: Target `all' not remade because of errors.

    Build complete for project Audio_Filter_Demo

    =================================================================

  • Mike,

    Can you go into the build options, click on "C5500 Compiler" add --d --v (double dashes) to the command line pattern before {inputs}.  That may give us more info as to what is going on.

    Also can you check to make sure the environment variable TMP is defined?

     

    Trying to reproduce locally but my mini-DVD with the 5515 files on it seems to be corrupted.

     

    Regards,

    John

     

     

     

     

  • John,

    I'm trying to repoduce this problem. The "can't find fir.asm" error started after I had linked some additional libraries into my project. I erased the old project, imported the "virgin" project, and everything works again. I'll let you know if this occurs again after re-linking my external libraries.

    thx

    MikeH

     

  • Mike can we close this one off based on the exchange on our other thread: http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/49421/176351.aspx#176351

  • Yes. Thanks.