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.

why the C rts library is added to the project automatically?

Other Parts Discussed in Thread: CCSTUDIO

Hi,all

      Every time I build a new project, I have to add the rts library to the project by hand.

I don't know why the library is added to the project automatically by CCS.

There are several libraries, which can be selected by a few options.

 

Thanks

Jogging

  • Yes, you have to add the appropriate library "by hand" if you are creating a new project.  You would also have to write your own linker command file.  Both of these are done for you if you use BIOS.

  • Brad is correct, and using BIOS does take this issue out of the equation.

    By having you define the RTS library that you link in you have more control over the program, you could choose to use an alternate or modified RTS (or perhaps none at all if you did everything in assembly), whereas if this functionality was automatically included you would have less control, BIOS includes these automatically because it overrides some of the functions with those that are specific to BIOS

  • I have a question after loading hello.out of Bios(bios_5_31_02) in CCS.

    I'm sure that I've installed CCSv3.3 properly, and environment variable is "C:/CCStudio_v3.3/bios_5_31_02".  But after loading "hello.out" and running, I found that CCS could not respond any more.   I had reinstalled CCS, but the problem is still existed.

    After that, I tried to open hello.pjt in CCS to find out what goes wrong.   I set debug point in hello.c after loading hello.out program. But I found out the break point is hollow instead of solid one.

    [edit] I recompiled hello.pjt, break point became solid one. But after loading hello.out and running, it could not respond yet. I had to restart windows.

              Could anyone tell me how to resolve it?

    Thanks.

    Lorry.

     

  • The hello world example from BIOS does not actually use the RTS printf function, it rather uses the LOG_printf function which uses the BIOS message log for a much lower impact printf capability.

    As to why this is crashing as you describe I could not say, having it lock up Windows seems like a pretty bad sign, this is not something I see very often. It may be worth visiting the update advisor site and trying a newer service release of CCS, and possibly an updated BIOS version as well. Is is just the hello world project that crashes the system or do other projects have the same effect?

  • Yes Bernie, I had tried "clk" project,  the result was the same with "hello".  So I decide to create a project with bios and simple src code to look whether it can work or not.  If it does not work yet, I'll try to update bios and CCS.   I'll write how I resolve it here. :)

  • I created project with bios. After building, I try to run it on EVM, but it also does not work. So I update my CCS and bios (CCS->3.3.79.5; Bios:5.33.03). But I found a new question, CCS could not connect DSP after updating.  DSP was able to be conneted before updating.

    The err message is :

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

    rror connecting to the target:
    Error 0x80002240/-476
    Fatal Error during: Initialization, OCS, Control,
    This error was generated by TI's USCIF driver.

    SC_ERR_ALIAS_ITEM_BAD <-476>
    In the configure file an alias name=value has a bad name or value.

    Board Name: DM6446 XDS560 Emulator
    Cpu Name: ICEPICK_C_0

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

    I tried to find how to resolve it, and I found a document of BlackHawk.  "SC_ERR_ALIAS_ITEM_BAD"  was demonstrated there, but it did not say how to resolve it.

  • I believe with this error in your case that you may have to update your emulation drivers, this is kind of hinted at by the mention of 'mismatch of TI files' in that BlackHawk document though it is not entirely clear. Essentially the latest CCS service release updated the USCIF interface for emulation, so you need to make sure that your emulation drivers provide support for the newer USCIF, and the latest CCS service release in general. I haven't seen this error myself, but when I updated my BlackHawk emulation drivers I noted that their driver downloads page says specifically that the latest version only works with the latest SR due to the USCIF changes, so I ended up updating both at the same time.

  • Previously you were required to install a USCIF update in addition to newer emulation drivers for Blackhawk emulators after installing CCS SR 2 or above. They've done away with the stand-alone patch and have included this in their newest emulation package. If you have not already done so I strongly suggest downloading their latest package to see if this works.

  • Hi, Bernie

        Thanks for your kind assistance.

        When I run the optimizing_c project, I find the project don't have a rts library. In the Build Options,

    the library is added to the project. But the research path of the rts6200.lib is blank.

    How does the linker find the library? In the environment variables, it seems the path is not

    added.


    Best Regards

    Jogging

  • Notice that during the build the output window shows the linker step having an option -@Debug.lkf.  The "-@" option means to read in options contained in a file.  The Debug.lkf file is auto-generated where "Debug" comes from the name of your configuration (e.g. Debug or Release).  If you open that file with a text editor you'll notice that it adds a path corresponding to your codegen tools.  That path is added automatically by CCS and corresponds to your selection in the Component Manager.  The benefit of this approach is that if you switch codegen tools in the Component Manager you do not have to worry about updating all the linker search paths in your project.  Otherwise you could easily get into a scenario where your rts library was not the one that came with the codegen being used.

    Brad

    PS.  This thread has become a hodge podge of topics.  Let's please create some new threads if possible for any other related topics.

  • Thanks, Brad

                 For the optimizing_c project,  I find the in the generated lesson_c.asm there are two software pipelining information. But in other .asm files only one

    software pipelining information exists. The two software pipelining information are different.

    Thanks.

    Jogging