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.

CCS 6.1.1 can attempt to load a program onto the wrong CPUs when switching the active target configuration

Using CCS 6.1.1.00022 on Linux to have one project for the Cortex-A8 in AM335x devices, but with two target configuration files. Where the target configuration files are for different boards using different types of emulator.

When changing the active target configuration file can repeatably get is a state where CCS attempts to incorrectly load the program onto the Cortex-M3. The sequence is:

1) Delete the .launches sub-directory in the CCS project directory.

2) Set the first target configuration as active and start a debug session. The following dialog appears, and select to only load the program onto the Cortex-A8:

The program is correctly loaded onto the Cortex-A8.

2) Set the second target configuration file as active. Start a debug session. The following dialog appears, and select to only load the program onto the Cortex-A8:

The program is correctly loaded onto the Cortex-A8.

3) Set the first target configuration file as active. Start a debug session, and the following error dialog appears:

The problem is that CCS is incorrectly trying to load the program onto the Cortex-M3 CPU. Once in this state I can't find any option on the GUI to stop CCS trying to load the program on the Cortex-M3, and had to delete the .launches sub-directory to recover.

Is this a bug in how CCS handles changing of the active target configuration?

  • Chester,

    I was able to reproduce this issue here (Mint 17.2 32-bit, with CCSv6.1.1.00022).

    It seems the problem lies on the fact only one debug configuration is created for the project, irrespective of its target configuration file. I found that, after running the first configuration for the second time, the executable is loaded to all "compatible" cores (meaning the same ISA).

    In this case, the workaround is simple: open the Debug configuration of your project. Go to menu Run --> Debug Configurations, select the project name on the tree on the left (under Code Composer Studio - Device Debugging), go to tab Program, select the M3 on the Device drop-down and erase the contents of the fields Project and Program.

    I will do a bit more investigation and see where the issue is coming from.

    (edit) additional details about Debug Configurations can be found at section 2.3 of:

    http://processors.wiki.ti.com/index.php/Debug_Handbook_for_CCS

    Regards,

    Rafael

  • desouza said:
    In this case, the workaround is simple: open the Debug configuration of your project. Go to menu Run --> Debug Configurations, select the project name on the tree on the left (under Code Composer Studio - Device Debugging), go to tab Program, select the M3 on the Device drop-down and erase the contents of the fields Project and Program.

    I did previously try that, but from memory CCS was still trying to load the program onto the M3 even after blanking the Project and Program for the M3. Will try again.

  • Chester,

    I filed today the bug number SDSCM00052518. Please check its status in the link SDOWP in my signature below.

    I apologize for the inconvenience,
    Rafael
  • desouza said:
    I was able to reproduce this issue here (Mint 17.2 32-bit, with CCSv6.1.1.00022).

    I have seen the same problem with CCS 6.1.1.00022 under Linux CentOS 6.7 64-bit and Windows 7 64-bit.

    desouza said:
    In this case, the workaround is simple: open the Debug configuration of your project. Go to menu Run --> Debug Configurations, select the project name on the tree on the left (under Code Composer Studio - Device Debugging), go to tab Program, select the M3 on the Device drop-down and erase the contents of the fields Project and Program.

    When I tested the workaround again, I still got an "M3_wakeupSS_0: Error connecting to the target: (Error -1266 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 6.0.83.0)" error dialog when starting a debug session.

    However, when the workaround was applied selecting Cancel on the dialog then caused CCS to load the program onto the Cortex-A8.

    Where as without the workaround selecting Cancel on then initial error dialog then caused CCS to report "Unable to connect to the target." and the program was not loaded onto the Cortex-A8.