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.

CCSv6 Multiple Target Connection Problem

Other Parts Discussed in Thread: AM3359

I am running CCSv6 on a 64-bit Windows 7 machine.  I am attempting to connect to two AM3359 chips with two separate JTAG emulators.  One emulator is a Blackhawk XDS560LAN (but I'm connecting to it via USB), and the other is a Blackhawk XDS560v2 System Trace (also connected to the PC via USB). 

I have attempted:

1) Creating a target configuration file that includes both connections

2) Running two instances of CC Studio

When I try #1, CCS crashes when it is initializing the debug connection.  Based on the display, it looks like it gets through initializing the first emulator but dies when it starts initializing the second emulator.  Windows gives a messages the CCS has stopped working.  The target configuration file is

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Blackhawk USB560-M Emulator_0">
        <instance XML_version="1.2" desc="Blackhawk USB560-M Emulator_0" href="connections/BH-USB560m_Connection.xml" id="Blackhawk USB560-M Emulator_0" xml="BH-USB560m_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Blackhawk USB560-M Emulator_0">
            <instance XML_version="1.2" href="drivers/tixds560icepick_d.xml" id="drivers" xml="tixds560icepick_d.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cs_dap.xml" id="drivers" xml="tixds560cs_dap.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cortexM.xml" id="drivers" xml="tixds560cortexM.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cs_child.xml" id="drivers" xml="tixds560cs_child.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cortexA.xml" id="drivers" xml="tixds560cortexA.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560csstm.xml" id="drivers" xml="tixds560csstm.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560etbcs.xml" id="drivers" xml="tixds560etbcs.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560pru.xml" id="drivers" xml="tixds560pru.xml" xmlpath="drivers"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="AM3359_0" href="devices/AM3359.xml" id="AM3359_0" xml="AM3359.xml" xmlpath="devices"/>
                <device HW_revision="1" XML_version="1.2" description="AM33x - Cortex A8 Embedded Processor" id="AM3359_0" partnum="AM3359" simulation="no">
                    <router HW_revision="1.0" XML_version="1.2" description="ICEPick_D Router" id="IcePick_D_0" isa="ICEPICK_D">
                        <subpath id="subpath_11">
                            <router HW_revision="1.0" XML_version="1.2" description="CS_DAP Router" id="CS_DAP_M3" isa="CS_DAP">
                                <subpath id="M3_wakeupSS_sp">
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="M3_wakeupSS_0" description="Cortex_M3 CPU" deviceSim="false" id="M3_wakeupSS" isa="Cortex_M3"/>
                                </subpath>
                            </router>
                        </subpath>
                    </router>
                </device>
            </platform>
        </connection>
    </configuration>
<configuration XML_version="1.2" id="Blackhawk XDS560v2-USB System Trace Emulator_0">
        <instance XML_version="1.2" desc="Blackhawk XDS560v2-USB System Trace Emulator_0" href="connections/BH-XDS560v2-USB_Connection.xml" id="Blackhawk XDS560v2-USB System Trace Emulator_0" xml="BH-XDS560v2-USB_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" desc="CSP_Blackhawk XDS560v2-USB System Trace Emulator_0" id="Blackhawk XDS560v2-USB System Trace Emulator_0">
            <instance XML_version="1.2" href="drivers/tixds560icepick_d.xml" id="drivers" xml="tixds560icepick_d.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cs_dap.xml" id="drivers" xml="tixds560cs_dap.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cortexM.xml" id="drivers" xml="tixds560cortexM.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cs_child.xml" id="drivers" xml="tixds560cs_child.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cortexA.xml" id="drivers" xml="tixds560cortexA.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560csstm.xml" id="drivers" xml="tixds560csstm.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560etbcs.xml" id="drivers" xml="tixds560etbcs.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560pru.xml" id="drivers" xml="tixds560pru.xml" xmlpath="drivers"/>
            <property Type="choicelist" Value="0" id="portAddr1"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="AM3359_0" href="devices/AM3359.xml" id="AM3359_0" xml="AM3359.xml" xmlpath="devices"/>
                <device HW_revision="1" XML_version="1.2" desc="CSP_AM3359_0" description="AM33x - Cortex A8 Embedded Processor" id="AM3359_0" partnum="AM3359" simulation="no">
                    <router HW_revision="1.0" XML_version="1.2" desc="CSP_IcePick_D_0" description="ICEPick_D Router" id="IcePick_D_0" isa="ICEPICK_D">
                        <subpath desc="CSP_M3_wakeupSS" id="subpath_11">
                            <router HW_revision="1.0" XML_version="1.2" desc="CSP_CS_DAP_M3" description="CS_DAP Router" id="CS_DAP_M3" isa="CS_DAP">
                                <subpath desc="CSP_M3_wakeupSS_sp" id="M3_wakeupSS_sp">
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_M3_wakeupSS_0" description="Cortex_M3 CPU" deviceSim="false" id="M3_wakeupSS" isa="Cortex_M3"/>
                                <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_ICECrusherCS_0" description="Cross Triggering" id="ICECrusherCS_0" isa="cs_child"/>
                                </subpath>
                            </router>
                        </subpath>
                    <subpath desc="CSP_DAP" id="subpath_12">
                            <router HW_revision="1.0" XML_version="1.2" desc="CSP_CS_DAP_DebugSS" description="CS_DAP Router" id="CS_DAP_0" isa="CS_DAP">
                                <subpath desc="CSP_ModenaSS" id="ModenaSS">
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_CortxA8" description="Cortex_A8 CPU" id="CortexA8" isa="Cortex_A8"/>
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_ICECrusherCS_1" description="Cross Triggering" id="ICECrusherCS_1" isa="cs_child"/>
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_ETM" description="cs_child" id="ETM" isa="cs_child"/>
                                </subpath>
                                <subpath desc="CSP_Trace_STM" id="Trace_STM">
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_CSSTM_0" description="CS System Trace" id="CSSTM_0" isa="TMS470R26X"/>
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_CSETB_0" description="CS Embedded Trace Buffer" id="CSETB_0" isa="CS_ETB"/>
                                </subpath>
                                <subpath desc="CSP_PRU" id="PRU">
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_PRU_0" description="PRU Accelerator" id="PRU_0" isa="TMS192C2026"/>
                                    <cpu HW_revision="1.0" XML_version="1.2" desc="CSP_PRU_1" description="PRU Accelerator" id="PRU_1" isa="TMS192C2026"/>
                                </subpath>
                            </router>
                        </subpath>
                    </router>
                </device>
            </platform>
        </connection>
    </configuration>
</configurations>
(I had to change the extension from ccxml to xml so that I could upload the file).

When I try #2, I am able to connect to both targets.  However, often actions in one instance of CCS (e.g. halting execution of the target) will kill the other instance of CCS.  Also, it looks like having two instances running is confusing the debugger, and some of the registers report Unable to Read.  With a single instance of CCS running, I don't have that problem.

Any suggestions would be much appreciated.

Thanks

--Josh Warr

  • Thanks for the link Gautam.  Seems a bit odd, but it looks like I can't use two different flavors of XDS560 emulators.

  • Hmmm..

    Goodluck & Regards,

    Gautam

  • Josh,

    Unfortunately I don't have a XDS560LAN from Blackhawk, but I checked with their engineers and they were able to run your #2 scenario without problems - i.e., running a XDS560v2 and a USB560bp in two instances with separate workspaces (check attached).

    The screen also shows the Blackhawk utility that shows both emulators connected with different port access numbers. Port access numbers only need to be updated in the .ccxml file if you are using the same emulator driver (i.e., two identical emulators). Just FYI: if you were using the same emulator, when you open the Blackhawk control panel it will prioritize the emulators in a list that can be used to designate the port number in the CCXML.

    Their setup is Windows 8.1 + CCSv6.0 + XDS560v2 -> C6711 + USB560BP -> F28335

    In the meantime I am trying to obtain a USB560bp and see if I can try to reproduce this locally.

    Regards,

    Rafael

     

  • Rafael,

    Thank you for looking into this for me. 

    Their setup is a little different.  I am using Windows 7, and I am also talking to two identical targets (AM3359).  Also, I didn't change the port access numbers.  You mention that they don't need to change, but I suppose I could change them and see if the behavior is any different.


    One thing to note--I was able to connect to both targets using two instances of CCS.  The problems occurred when I started working with the two systems.  And the behavior was not always consistent.  I believe the most consistent issue I saw was that with the target running in the first instance, if I started the running the target in the second instance, and then halted the second target, the second instance of CCS would close.

    So if this is supposed to work, why does the wiki link above suggest that it won't work?

    --Josh 

  • Josh,

    Josh Warr said:
    I am using Windows 7, and I am also talking to two identical targets (AM3359). 

    Yes, I asked the engineer from BH to try using the same device, but I am unsure if he has two boards available. Historically we know the different OS version has very minimal influence on these scenarios.

    Josh Warr said:
    So if this is supposed to work, why does the wiki link above suggest that it won't work?

    I am looking at the page and apparently this is only valid between XDS560v2 and XDS200 (these emulator classes share the same drivers). I will edit the page.

    Regards,

    Rafael