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.

Setting up CCS for 2 DM6467's



I have a 6467 EVM and it works ok. Now I have a production board that has 2 6467's in a Jtag Chain and I cannot get either of them to work with CCS. They seem to check out with SDconfig though.
SDconfig reports
** Checking for a valid emulator/eZdsp

  $$ You are connected to:
  $$ EmuProductName=XDS510USB
  $$ EmuPortAddr=0x510
  $$ EmuPortMode=USB
  $$ ProductId=510
  $$ ProductVersion=84

** Checking emulator/eZdsp scan connection
** Emulator Test **
 $$ EmuProductName=XDS510USB
 $$ EmuPortAddr=0x510
 $$ EmuPortMode=USB
 $$ ProductId=510
 $$ ProductVersion=84
 ** Emulator Scan Test
   -- Found JTAG IR length of 12
   -- Found 2 JTAG device(s) in the scan chain

And the diagnostics pass with 0 errors.

In code composer Setup I have tried using the 6467 EVM setup and adding another 6467.
I have also tried using the 6467EVm and adding a 6bit bypass.(by pass before and after the EVM)
I have also tried not using the EVM setup and creating a new board from scratch and adding 1 6467 and a bypass and tried using 2 6467's.
I set the Arm Gel file to "davincihd_arm.gel" downloaded from Spectrum Digital.
I have the boot mode set to emulation on both chips.


No matter what I do when I try to connect to the arm I get lots of these errors.
Trouble Halting Target CPU: Error 0x00000020/-2011 Error during: Execution,  An internal error occurred in which an illegal action (0x00000000) was requested while disconnected. 

Any ideas what the issue could be? I'm assuming that if SDconfig passes then the hardware is connected properly, is this a valid assumption? If so then what could be wrong in the setup?

 

Thanks

Ringo

 

  • Hardware questions:

    • Did you connect TDO of device 0 to TDI of device 1?
    • Did you connect RTCK of device 0 to TCK of device 1?
    • Did you connect the EMU0 pins together and pull them high?
    • Did you connect the EMU1 pins together and pull them high?
    • Which emulator are you using?  Is it one with adaptive clocking?

    CCS setup questions:

    • The very top level of cc_setup should correspond to your emulator.  Have you got the right one?
    • The next level down should have an ICEPICK_C module at the top level.  For your setup you should have either two ICEPICK_C modules or else an ICEPICK_C and a bypass.  Does that match how you did it?  That is, are you sure the 6-bit bypass is at the same level as the ICEPICK_C and not a submodule?
    • Under the ICEPICK_C you should have 4 routers with addresses 0x10, 0x12, 0x13, 0x14 and respective cores ARM9, 64x+, ARM9, ARM9.  Does that match your setup?

     

    • Did you connect TDO of device 0 to TDI of device 1?  

                Yes

    • Did you connect RTCK of device 0 to TCK of device 1?

                Yes, and we also tried RTCK0 back to the connector and RTCK1 back to the connector. We found 2 different reference designs that do it different ways and tried both. Which is correct?

    • Did you connect the EMU0 pins together and pull them high?

                  Yes 10K pullups

    • Did you connect the EMU1 pins together and pull them high?

                 Yes 10K pullups

    • Which emulator are you using?  Is it one with adaptive clocking?

            We have the XDS510USB. It is not the "plus" so I don't think it has adaptive clocking, do we need the plus model?

    CCS setup questions:

     

    • The very top level of cc_setup should correspond to your emulator.  Have you got the right one?

    Yes it says Davinci_HD-XDS510USB

    • The next level down should have an ICEPICK_C module at the top level.  For your setup you should have either two ICEPICK_C modules or else an ICEPICK_C and a bypass.  Does that match how you did it?  That is, are you sure the 6-bit bypass is at the same level as the ICEPICK_C and not a submodule?

    It comes up as an IcePickBP, not an ICEPICK_C.  (That is what comes up when I pick the davinci board)   .The Bypass is the same level as the IcePickBP

    • Under the ICEPICK_C you should have 4 routers with addresses 0x10, 0x12, 0x13, 0x14 and respective cores ARM9, 64x+, ARM9, ARM9.  Does that match your setup?

    The Addresses come up as 16,18,19, and 20 which correspond you your hex numbers above.

     

    Any thoughts, could it be the clocking, or the type of Icepick, or somehting else?

    Does it passing the Diagnostic test prove anything?

     

    Thanks

    Ringo

     

     

  • lester davis said:
    • Did you connect RTCK of device 0 to TCK of device 1?

                Yes, and we also tried RTCK0 back to the connector and RTCK1 back to the connector. We found 2 different reference designs that do it different ways and tried both. Which is correct?

    There is a series topology (as I described) as well as a parallel topology.  The two are shown here:

    http://tiexpressdsp.com/index.php?title=Adaptive_Clocking#Multi-Device_Scan_Chain_Connections_with_Devices_that_require_Adaptive_Clocking

    The parallel topology requires additional logic to create a "combined RTCK" whose speed reflects the slowest RTCK.  Personally I like the series topology better as it is a lot simpler.

    lester davis said:
    • Which emulator are you using?  Is it one with adaptive clocking?

            We have the XDS510USB. It is not the "plus" so I don't think it has adaptive clocking, do we need the plus model?

    You would need an adaptive clocking module.  Spectrum Digital sells a little paddle board for $150.  It seems their site is down right now or else I would post a link to the exact product.  I found this info in an email from several years ago so hopefully it's still correct:

    Part #

    Description

    Price (each)

    701210-0001

    14 pin low voltage adapter with adaptive clocking

     $     149.00

    701212-0001

    20 pin low voltage adapter with adaptive clocking

     $     149.00

    lester davis said:
    • The very top level of cc_setup should correspond to your emulator.  Have you got the right one?

    Yes it says Davinci_HD-XDS510USB

    I looked closer at those config files.  That particular config file uses an "ICEPICK_C_BYPASS" element whereas the one called "DAVINCI_HD_XDS510USB_ICP" uses an ICEPICK_C.  I recommend starting from that one instead.

    lester davis said:
    • The next level down should have an ICEPICK_C module at the top level.  For your setup you should have either two ICEPICK_C modules or else an ICEPICK_C and a bypass.  Does that match how you did it?  That is, are you sure the 6-bit bypass is at the same level as the ICEPICK_C and not a submodule?

    It comes up as an IcePickBP, not an ICEPICK_C.  (That is what comes up when I pick the davinci board)   .The Bypass is the same level as the IcePickBP

    • Under the ICEPICK_C you should have 4 routers with addresses 0x10, 0x12, 0x13, 0x14 and respective cores ARM9, 64x+, ARM9, ARM9.  Does that match your setup?

    The Addresses come up as 16,18,19, and 20 which correspond you your hex numbers above.

    I've attached a couple configs for you to try out.  I started from the DAVINCI_HD_XDS510USB_ICP config and then added a bypass (position of the bypass will affect which DM6467 you talk to).

    lester davis said:

    Any thoughts, could it be the clocking, or the type of Icepick, or somehting else?

    Does it passing the Diagnostic test prove anything?

    I think it's the cc_setup.  I think the diagnostic passing means that your hardware is ok.  (Though I think the lack of adaptive clocking is going to screw things up for you in terms of stability.)

     

    configs.zip
  • We are set up as the series topology as shown in the diagram you pointed to. I tried your setups, one of them gives and error when I try to import it. The other imports fine but I still get the error. I tried your setup on the evm by just deleting the bypass and it works fine. The only other thing is that we do not have adaptive clocking. We ordered the module mentioned above but it will not be here until sometime next week at best. Would this stop the board from working completely? The docs I ready made it sound like this would only make it flaky. Flaky would be a big improvement right now.

     

    Any other thoughts on what to try?

     

    Thanks

    Ringo

     

  • Did you get the adaptive clocking module?  Any luck there?  Sorry, I don't have any other suggestions at the moment. [*-)]

  • It arrived today. No luck.

    With the adaptive clocking module CCS does not connect and teh Spectrum digital test fails. Without it at least the SD test passes. Not sure what to do next.

    Ringo

     

  • Try checking TCK at various places while everything is connected (emulator to adapter to board) to make sure that a clean TCK signal makes it all the way to the board (and ultimately the processor!).  Make sure it's monotonic, i.e. no glitchy edges.

    Do you have RTCK connected properly to the JTAG header on the board (pin 9 for 14-pin header or TI compact 20 pin header)?

    Are EMU0/1 high when the DSP is released from reset?

  • The clock looks ok. EMU0/1 are pulled up with 10K's.

    RTCK is at the connector like the EVM board.

    Ringo

     

  • What frequency do you see on TCK and RTCK?  I'm running out of stuff to check!

    Here's another thing I thought of.  You can actually slow down the TCK frequency through a config file to make sure that's not related.  Here's how to do it for the SD XDS510USB:

    • Go to C:\Windows\System32
    • Open sdopts.cfg for editing.
    • Find the section toward the bottom with "XDS510USB DEFINITIONS"
    • Under that section, change EmuTckDiv=1 to EmuTckDiv=10.
    • Save your file.
    • Unplug your emulator so that it will re-enumerate.
    • Restart CCS.
    • (Verify that TCK has slowed down!)

    Brad