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.

To open a relocated project file in CCS v5.2

I created a new project (in PC) using ccs5.2, worked for a while and then relocated to another folder.

Then I am unable to re-open the project file.  The "open" command in the Project Explorer only open a project en-listed.  It cannot open a relocated one.  I tried to import, but there is not any .xml in the project folder.  I tried to create a new one (with the same name), but ccs stops as it detects something out there.

I hate to ask this kind of newbie questions, but where can I find detail user manual of ccs v5.1or v5.2, instead of just the quick start guide?

Regards

Wood

  • Wood.

    probably the easiest thing to do is to simply use a new workspace folder. The current workspace has a reference to the project that moved so it cannot find it but you cannot create a new one of the same name because it still is referencing the old project.

    ki

  • Hi Ki,

    I already removed the project from the workspace.  Its that the project files (.project, ..etc.) are still there, so I have to delete them before I can create a new one with the same name.

    There should be some easy way to restore/register the relocated projects into the work space, otherwise a lot of chores to re-create a big project from scratch.

    CCS v5 looks very potent, but seems not for small project.  Should we go v3.x instead? ( I had little such troubles with v1 and v2 years ago)

    Regards

    Wood

  • Wood Chan said:
    I already removed the project from the workspace.  Its that the project files (.project, ..etc.) are still there, so I have to delete them before I can create a new one with the same name.

    Yes CCS does not support having projects of the same name in the same workspace. This is also true if a project of the same name resides in the workspace folder, even if not yet imported.

    If you take care to make the project portable, you should be able to relocate your project and have CCS handle the changes.

    http://processors.wiki.ti.com/index.php/Portable_Projects#Portable_Projects_in_CCSv5

    Wood Chan said:

    CCS v5 looks very potent, but seems not for small project.  Should we go v3.x instead? ( I had little such troubles with v1 and v2 years ago)

    The issue with CCSv3 is that it is not supported anymore. So if you run into issues using CCSv3, there is little we can do to support you.

    Thanks

    ki

  • Hello,

    Just more newbie questions.

    I created a new project, compiled ok, but the linker reports "unresolved symbols remain".

    As per manual, there should be the name(s) of the symbol along with their associated files.  But I see nothing.  I tried to remove one function, neither does its name show up, but at least there is a "?" by the line that reference it. 

    So where are those information, should they exist?

    I find that for one file, nearly all its functions are marked by "?", but it is not so for the same file in another project (that linked ok).  Is it possible that these "?"-ed-functions are actually not linked (and the linker spills the above message)?

    What is missing for the linker to show those information?

    Also the compiler gives a warning -- ".bss" requires a STATIC_BASE...., at 0x00816e80,...out of range,....at 0x0080dcc8....

    What really is a STATIC BASE is?  I checked the map file that it does start at 80dcc8 but not 816...

    Regards

    Wood

  • Hi,

    I restart from a project that worked, convert to the target one incrementally, until the error message pops up.

    Then I checked the "unresolved" function does exit in the map file.  The compiler is working as I duplicate the symbol (the function), it complains.  In other words, its is the linker issue.

    I relocate the file containing the function to the same folder as the caller, no improvement.  I dubbed the function into the caller file....then the message disappears.

    So the process repeat...that is, a new file is created for this function, and the other functions are transferred step by step, ...line by line....until the same error pop up....and it does!!

    Can't recall there was such nightmare for CCS version 1 or 2!?

    Regards

    Wood

  • Hi,

    Forget to mention one thing: the "unresolved" function and file compiles and links ok in another project....that's so inconsistent....

    Regards

    Wood

  • Hi,

    Today (the second day after installing version 5.2) CCS shows me a "Console" pane, that displays exactly what I longed for (then what really is a  "Problem Detail" pane?). The "unresolved" stuffs just become a non-issue at all.

    There are still some inconsistencies (say CCS gives different messages under XP and Win7, for exactly the same project), but I have to rush for my job now.

    Regards

    Wood

  • Wood Chan said:

    I created a new project, compiled ok, but the linker reports "unresolved symbols remain".

    As per manual, there should be the name(s) of the symbol along with their associated files.  But I see nothing.  I tried to remove one function, neither does its name show up, but at least there is a "?" by the line that reference it. 

    So where are those information, should they exist?

    Could you give me a screenshot of the build output in the console? I'd like to see what the exact error looks like. If you can proivde the whole project, even better.

    Thanks

    ki

  • Hi Ki,

    Thank you for your inquiry.

    As per my previous post, the trouble is gone as the "Console" pane show up.  I have no idea why it did not show up in my previous installations (5.10 and 5.11).  It was also not shown the first day when I upgraded to 5.2.   (Or the "Problem" and "Problem Details" pane miss to hyperlink to [all]  the source of problem)

    Yesterday I encountered an issue that is exactly the opposite.  Some symbols should be unresolved, but the compiler and linker stayed mum and CCS crashed upon execution of some system functions (fprintf in my case).

    Please understand that these issues/questions should not have been raised from the first hand.

    By the way, is there any alternative configurations for the function keys to emulate, say CCS 2.0, Visual C. etc.  I am using several platforms and different developement tools whose function keys are more or less the same, while Eclipse is so outstanding and therefore very inconvenient to me.  I know I can redefine the function key one by one, but it would be quite tedious and I am not comfortable to modify such and such for the moment.

    Regards

    Wood

  • kam wood chan said:
    Yesterday I encountered an issue that is exactly the opposite.  Some symbols should be unresolved, but the compiler and linker stayed mum and CCS crashed upon execution of some system functions (fprintf in my case).

    These are issues that are hard to diagnose without a test case that we can run locally. If you can provide one, that'd be great/

    kam wood chan said:
    By the way, is there any alternative configurations for the function keys to emulate, say CCS 2.0, Visual C. etc.  I am using several platforms and different developement tools whose function keys are more or less the same, while Eclipse is so outstanding and therefore very inconvenient to me.  I know I can redefine the function key one by one, but it would be quite tedious and I am not comfortable to modify such and such for the moment.

    CCSv5 comes with key mapping schemes for Visual Studio and  Emacs (available under the 'Scheme' dropdown menu in the workspace preferences for the 'Keys'. You can try the one for Visual Studio and see if it works for you.

  • Hi Ki,

    Thank you for your instruction.  Its good to get back some familiar taste.

    The said issue was gone once I updated the conditional directive (to __TMS320C6X__) .  I am not sure whether I can replicate the scenario.

    Yet I still encounter new issues.  Now my project works in debug mode, release mode O0, O1, but not O2.  (A little query here: what is the difference between "Basic Options" and "Optimizations" in project Properties?  My code didn't work until I set all these to level 1).  For O2, it works for the first time, and then powf() returns wrong value (may or may not crash).  Again, I comment out fprintf(), the issue is gone.

    But then verification becomes tedious as I need to dump the result data manually, and also delete the first line of the dump file every time.  Is there an option not to log down dump information at the beginning of the log file?

    Also is it possible to show multiple instances of a pane.  For example, I would like to watch registers in floating point, integer, hex, all at the same time.  It will be very best to split the register pane into multiple columns, so that we can watch all the registers simultaneously,  rather than scrolling up and down.  And yet, why are there no floating point and SINGED integer display for registers (I use mainly floating point)?

    What am I missing as I seem always be unfriended with fprintf()?  Is there any restriction in applying this function (and maybe other library functions too)?

    Regards

    Wood

  • Hi Ki,

    Now I have another project with the same issue, that is, it works for debug mode while release mode works when fprintf() is removed.

    I have lots of this kind of project (unit test of multi-channel function models).  So I need to automate this process.  For the first step, I would like to check what is the compiler directive for Debug/Release mode, or O2?

    Also is there (detail) user manual for CCS?  So far I can only find one for MSP430, is it also applicable to C6x?

    Wood

  • Hi Ki,

    Another project but same issue (fprintf, powf, ...).  The differences are it is single channel, and debug mode also fail, only deferred (not immediately after the first test).

    For one thing, I found that a "const" qualifier was missing for a pointer.  The situation "improved" a little bit in debug mode (the issue pop up later).

    Should you have interest to look into this, I will package the project for your examination.

    Wood

  • Hi Ki,

    Nothing new, but the issue just happened in debug mode for yet another module/project.  I located a file and cut all un-related functions, then its ok.  Not surprisingly, those functions contain powf() or log() functions. Before that I enable the link option to eliminate unreferenced call, but it is not effective.

    The trouble is of course those unfriendly functions are called by other modules.  That is to say, the issue will come back in integration.

    For now I can only wait if it is not setup/configuration issue.  I attach the ccxml and cmd file for your reference.  For .ccsproject, .cproject and .project, you may assume they are automatically generated, except selecting Big Endian, pre-defined constants and include paths.

    What is/are the main difference(s) between CCS and C project?  I tried the latter but failed as CCS reports "Program ""make"" is not found in PATH" (and 2 warnings).

    I also browsed the CCS 5.2 User Guide for MSP430, well, not the one I expected.

    Lastly is it possible to change the warning level of the compiler?

    Regards

    Wood

    1    c6657.ccxml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <instance XML_version="1.2" desc="C6657 Device Functional Simulator, Big Endian" href="configurations/tisim_c6657_pv_be.xml" id="C6657 Device Functional Simulator, Big Endian" xml="tisim_c6657_pv_be.xml" xmlpath="configurations"/>
        <configuration XML_version="1.2" description="Simulates the C6657 device which includes C66x CorePac(2x), MSMC (Multicore Shared Memory Controller), Inter-processor communication, CPINTC(3x), EDMA, TIMER64(8x), VCP2(Viterbi Decoder Coprocessor)(Only 2 supported), TCP3d(Turbo Decoder Coprocessor), Semaphore2, DDR3 memory, GPIO, Queue-manager Sub-system, SRIO, Power and Sleep Controller, PCIe(Register-Only), EMIF(Register-Only). This configuration is functional (bit accurate) . This configuration is suitable for applications development and understanding the system behavior, but doesn't support cycle accuracy at the device level." id="C6657 Device Functional Simulator, Big Endian">
            <connection XML_version="1.2" desc="C6657 Device Functional Simulator, Big Endian_0" id="C6657 Device Functional Simulator, Big Endian">
                <platform XML_version="1.2" id="platform_0">
                    <cpu HW_revision="" XML_version="1.2" description="" deviceSim="false" id="device_1" isa="TMS320C66XX">
                        <property Type="choicelist" Value="0" id="bypass"/>
                    <property Type="choicelist" Value="0" id="Slave Processor"/>
                    </cpu>
                </platform>
            </connection>
        </configuration>
    </configurations>

    2   linkc66x.cmd

    /*--------------------------------------------------*/
    /* Description   : Contains memory mapping for C66xx*/
    /* History       :                                  */
    /****************************************************/

    -heap    0x400
    -stack    0x400

    MEMORY
    {
      BOOT_MEM:    origin = 0x00800000 length = 0x00001000 /* This address is used for no boot mode */

      L1P_MEM:     origin = 0x00E00000 length = 0x00004000 /* This is the non-cache SRAM */

      L1D_MEM:     origin = 0x00F00000 length = 0x00004000 /* This is the non-cache SRAM */

    //  L2_MEM:      origin = 0x00801000 length = 0x00097000 /* This is for local SRAM, could be used as cache. */
      L2_MEM:      origin = 0x00801000 length = 0x000FE000 /* This is for local SRAM, could be used as cache. */

      SL2_MEM:     origin = 0x0C000000 length = 0x00100000 /* Shared SRAM, 1 M byte */

      EXT_MEM:     origin = 0x80000000 length = 0x00800000 /* Ext DDR, 8 M byte */

    }

    SECTIONS
    {
    /* common section */
        .vectors    >    BOOT_MEM
        .cinit    >    L2_MEM
        .text    >    L2_MEM
        .stack    >    L2_MEM
        .bss    >    L2_MEM
        .const    >    L2_MEM
        .data    >    L2_MEM
        .far    >    L2_MEM
        .switch    >    L2_MEM
        .tables    >    L2_MEM
        .cio    >     L2_MEM
        .sysmem     >    L2_MEM
        .fardata    >    L2_MEM
        .rodata    >    L2_MEM
        .neardata    >    L2_MEM

    /* user specific setting -- TI is really stupidly lazy!! */
        .dmamem     >       SL2_MEM         /* 64 IO channels ping pong */
        .corein     >       SL2_MEM         /* 64 channels per core, for input only */
                                            /*  each core will double buffer its own within L2 */
        .extmem     >       EXT_MEM         /* external memory, use paged dma, for delay */
        sect_sl2    >       SL2_MEM            // for testing only
        sect_ddr    >       EXT_MEM
    }                             

    My compiler always complains stack size not specified, what's wrong with the .cmd file?