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.

XDS510 USB Emulator connection issue with C6414T

HI guys,

I am using an XDS510 USB2.0 emulator to debug a self-design C6414T board. In the board, the C64x is power up with Boot mode: HPI boot. (EMIFB pin 19:18 with fixed Pulldown/pullup resistor.) There's ARM in the board to load DSP program from HPI interface. 

Before doing any type of real work, I tried to connect DSP with emulator.

First, I hold ARM in a dead loop, and not touch DSP anymore once it power up and reset DSP.  Then, reset emulator and connect to DSP. This connection operation is success without doubt. I could load the DSP code, and do some simple test. All thing seems to be good. I could disconnect and reconnect DSP core without failure. 

But, once I use the "reset cpu" in CCS debug menu, and the DSP has been reset by this emulator  RESET operation.  I still could load and run program if I don't disconnect emulator from target.

However, once the emulator disconnect from DSP after "reset cpu", I couldn't connect the DSP anymore. Never!

The error code is 

Error connecting to the target:
Error 0x80000240/-1156
Fatal Error during: Initialization, OCS, 
Invalid data was scanned by the emulation controller.
Verify the board setup to make sure the scan chain is properly
defined.
If the setup is correct, then RESET EMULATOR. This will disconnect each 
target from the emulator. The targets should then be power cycled
or hard reset followed by an emureset and reconnect to each target.


I/O Port = 240

Board Name: C64xx Rev 1.1 XDS510USB 2.0 Emulator
Cpu Name: CPU_1

Abort: Close Code Composer Studio.
Retry: Try to connect to the target again.
Cancel: Remain disconnected from the target
Diagnostic: Run diagnostic utility.

To solve the problem, I have to power cycle the board or Reset ARM, which trig ARM to generate an Reset signal to DSP. 

More interesting thing is I then attempt to use ARM to load DSP program. Once ARM write the DSP program, and trig HPIC to boot DSP. The DSP program seems to run successfully, (LED blink as expected). And if I tried to connect to DSP with emulator, I would get the same CCS error as above.  I further change the ARM program to just write HPI program, not trig HPIC. The emulator connection is success. So, it seems that the operation of write HPIC to trig HPI boot must change something, which leads to the emulator fail to connect.

What does this error message really mean? Why kind of reason could lead the emulator fail to connect to DSP when the DSP program is running? In both case, the DSP program seems to running normally. But, the emulator fail to halt and connect it.  

Any comment or reply is welcome, thanks advance!

Jeff

  • Hi Jeff,

    Jeff Ren said:
    I/O Port = 240

    This I/O port is usually reserved for the TI XDS510 ISA emulator. Considering that you are using an XDS510 USB based emulator, this sounds wrong. I'm not sure how you are able to connect at all. Did you create this board configuration yourself?

    Also provide some more details. Like what exact CCS version you are using. I am guessing it is the older CCSv3 but please confirm. Also what vendor is your emulator from.

    Thanks

    ki

  • Hi Ki,

    I did use this emulator for a long time to debug C6713 chip. It's reproduced by local company in China, called Dongheng Electrnoics.  The CCS version is the latest of v3.3.82.2. I will check CCS board configuration file, it seems that it's compatible with TDS510 USB2.0 board with C64x Rev1.1 configuration. 
    I will insert on picture on that soon.
    Thanks,
    Jingwei
  • Hi Ki,

    Here's the CCS board configuration, which is gotten from emulator producer. It seems that this config is borrowed from other 3rd party driver. But, I don't know the details. 

    Refer to my issue, my biggest confusion is what kind of operation is executed by emulator when I click the "debuig->connect" in CCS. Because, based on the experiment result, once the CPU runs (whatever via emualator runs or HPI boot), it seems to be normal. but when I tried to connect under this condition, it fails.

    However, when I reset CPU through "nRESET" pin, everything go back to be correct. I could successfully connect to CPU again. 

    This result is repeatable, even the CPU's program is just a simple while(1) { } loop in the beginning of main() function. 

    Thanks for reply!

    Jeff

  • Ok, the screenshot shows a configuration for an XDS510USB using I/O Port 240. That is different than what I am used to but then again I've never used that emulator.

    The error message in the first post indicates that the driver scan returned invalid data  according to what was defined in the target configuration. Hence I was curious if your configuration setup was valid. But if you can connect in the first place, then it must be.

    You can try contacting your emulator vendor for support and see if they may have any useful suggestions.

    I'll see if I can get some emulation experts to reply to your question on what happens under the hood on a target connect.

    ki