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.

dealing with multiple executables

I have a build process that produces two .out files, one intended for ram (motorctrl_RAM.out) and the other for flash (motorctrl.out).

When I debug, I can't seem to get CCS 4.0 to stop using motorctrl.out. When I right-click on project properties I get this dialog box, and I can change the executable to motorctrl_RAM.out, but it never "sticks", it magically reverts to motorctrl.out.

What am I doing wrong?

  • Jason,

    Does the same project create both .out files?

    I played around with this a bit and I see the same behavior as you.  I open the modules view in the debug perspective to be sure.

     

    What I have found is that it always loads the .out that is specified as the Build output for the project.  If you go to the build properties for the project and select the Build settings tab it shows you want the output of the project is.  In your case I am assuming that the active project you are debugging has motorctrl.out as the output so it always uses that.

    If you have a different project or project config for the motorctrl_RAM.out you could make it active and CCS should use that.  Another option is to use the "Launch TI debugger" item which will launch the debugger but not do some of the automatic stuff that "Debug active project" does, i.e. it won't build the project, it won't automatically load a program, and won't run to main.  Basically it looks for your default target config and launches the debugger for that.  This action is available from the down arrow beside the bug button.

     

    Regards,

    John

  • JohnS said:
    Does the same project create both .out files?

    I don't use CCS's build process at all. I use an external build process (using "scons", for what it's worth) and use CCSv4 as an editor/debugger.

    JohnS said:
    What I have found is that it always loads the .out that is specified as the Build output for the project.  If you go to the build properties for the project and select the Build settings tab it shows you want the output of the project is.  In your case I am assuming that the active project you are debugging has motorctrl.out as the output so it always uses that.

    Aha, that solves the problem. Again, I'm not using the output of the project... but if I fake CCS and tell it the build output of the project is "motorctrl_RAM.out", then it uses that. Thanks!

    Any way you could enter an item in the bug report/feature request database to let us debug more than one variant build output, so it's not tied to the build output, but instead you can select a .out file as long as CCS can find the source code tree? The "regular" Eclipse does this sort of thing without any problems, you just right-click on a java file and debug/run it, even though there's only one project. I don't want to go through the hassle of setting up multiple project directories, that's just unacceptible.

  • Jason,

    If you use a "standard makefile project" instead of "CCS project" it will give you the standard eclipse prompt "More than one executable files were found in the selected project. Please specify the executable file you wish to debug."

    However when I do that I don't find that it is actually loading and I have to do it manually.  I have filed a defect for this: SDSCM00035411

     

    Regards,

    John