OSD3358, JTAG connection not working

Forums Devices OSD3358, JTAG connection not working

Tagged: ,

Viewing 3 reply threads
  • Author
    Posts
    • #12311
      machmach
      Participant

        Hello,

        I’am working on OSD3358 mounted on a custom board. Now I’m facing the problem that can’t connect to the Target via JTAG.
        For debugging I use the Blackhawk XDS100v2 debug probe.
        Running a JTAG-Test in Code Composer Studio 11, I get the following output.

        [Start: Texas Instruments XDS100v2 USB Debug Probe_0]

        Execute the command:

        %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

        [Result]

        —–[Print the board config pathname(s)]————————————

        /home/marco/.ti/ccs1110/0/0/BrdDat/testBoard.dat

        —–[Print the reset-command software log-file]—————————–

        This utility has selected a 100- or 510-class product.
        This utility will load the adapter ‘libjioserdesusb.so’.
        The library build date was ‘Dec  8 2021′.
        The library build time was ’11:12:50’.
        The library package version is ‘9.6.0.00172’.
        The library component version is ‘35.35.0.0’.
        The controller does not use a programmable FPGA.
        The controller has a version number of ‘4’ (0x00000004).
        The controller has an insertion length of ‘0’ (0x00000000).
        This utility will attempt to reset the controller.
        This utility has successfully reset the controller.

        —–[Print the reset-command hardware log-file]—————————–

        The scan-path will be reset by toggling the JTAG TRST signal.
        The controller is the FTDI FT2232 with USB interface.
        The link from controller to target is direct (without cable).
        The software is configured for FTDI FT2232 features.
        The controller cannot monitor the value on the EMU[0] pin.
        The controller cannot monitor the value on the EMU[1] pin.
        The controller cannot control the timing on output pins.
        The controller cannot control the timing on input pins.
        The scan-path link-delay has been set to exactly ‘0’ (0x0000).

        —–[The log-file for the JTAG TCLK output generated from the PLL]———-

        There is no hardware for programming the JTAG TCLK frequency.

        —–[Measure the source and frequency of the final JTAG TCLKR input]——–

        There is no hardware for measuring the JTAG TCLK frequency.

        —–[Perform the standard path-length test on the JTAG IR and DR]———–

        This path-length test uses blocks of 64 32-bit words.

        The test for the JTAG IR instruction path-length failed.
        The JTAG IR instruction scan-path is stuck-at-ones.

        The test for the JTAG DR bypass path-length failed.
        The JTAG DR bypass scan-path is stuck-at-ones.

        —–[Perform the Integrity scan-test on the JTAG IR]————————

        This test will use blocks of 64 32-bit words.
        This test will be applied just once.

        Do a test using 0xFFFFFFFF.
        Scan tests: 1, skipped: 0, failed: 0
        Do a test using 0x00000000.
        Test 2 Word 0: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 1: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 2: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 3: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 4: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 5: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 6: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 7: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        The details of the first 8 errors have been provided.
        The utility will now report only the count of failed tests.
        Scan tests: 2, skipped: 0, failed: 1
        Do a test using 0xFE03E0E2.
        Scan tests: 3, skipped: 0, failed: 2
        Do a test using 0x01FC1F1D.
        Scan tests: 4, skipped: 0, failed: 3
        Do a test using 0x5533CCAA.
        Scan tests: 5, skipped: 0, failed: 4
        Do a test using 0xAACC3355.
        Scan tests: 6, skipped: 0, failed: 5
        Some of the values were corrupted – 83.3 percent.

        The JTAG IR Integrity scan-test has failed.

        —–[Perform the Integrity scan-test on the JTAG DR]————————

        This test will use blocks of 64 32-bit words.
        This test will be applied just once.

        Do a test using 0xFFFFFFFF.
        Scan tests: 1, skipped: 0, failed: 0
        Do a test using 0x00000000.
        Test 2 Word 0: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 1: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 2: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 3: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 4: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 5: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 6: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        Test 2 Word 7: scanned out 0x00000000 and scanned in 0xFFFFFFFF.
        The details of the first 8 errors have been provided.
        The utility will now report only the count of failed tests.
        Scan tests: 2, skipped: 0, failed: 1
        Do a test using 0xFE03E0E2.
        Scan tests: 3, skipped: 0, failed: 2
        Do a test using 0x01FC1F1D.
        Scan tests: 4, skipped: 0, failed: 3
        Do a test using 0x5533CCAA.
        Scan tests: 5, skipped: 0, failed: 4
        Do a test using 0xAACC3355.
        Scan tests: 6, skipped: 0, failed: 5
        Some of the values were corrupted – 83.3 percent.

        The JTAG DR Integrity scan-test has failed.

        [End: Texas Instruments XDS100v2 USB Debug Probe_0]

        I noticed the following two error messages.

        The error message The test for the JTAG IR instruction path-length failed.
        The JTAG IR instruction scan-path is stuck-at-ones.

        The test for the JTAG DR bypass path-length failed.
        The JTAG DR bypass scan-path is stuck-at-ones.

        Now I’ve checked the connection lines between OSD3358 and JTAG connector. These appear to be fine.
        Additionaly I recorded the test sequence with a Logic Analyzer. Here it is noticeable that the TDO line is constantly on a high level during the test sequence.

        Does anyone have an idea?

         

      • #12312
        Neeraj Kumar Reddy DantuNeeraj Dantu
        Moderator

          Mach,

          Do you have your EMU0/1 pins pulled up per Errata 1.0.36(https://www.ti.com/lit/er/sprz360i/sprz360i.pdf)?

          Can you post the JTAG circuit? See OSD3358-SM-RED design(https://octavosystems.com/docs/osd3358-sm-red-schematics-pdf/) for reference.

          Please double check whether the JTAG connector is soldered correctly if it was hand soldered.

          Does the board power up(Is OSD335x alive)? See https://octavosystems.com/app_notes/osd335x-design-tutorial/bare-minimum-boot/boot-process/ for more info.

          Best,
          Neeraj

        • #12323
          machmach
          Participant

            Hi Neeraj,
            the EMU0/1 pins are not pulled up as described in  Errata 1.0.36.

            The board powers up. “Ccc’s” are output via the serial debug console after switching on the board.

            In the OSD3358-SM-RED design TRSTN is grounded. In our design  TRSTN  is unconnected.
            Should  TRSTN always be grounded even if it is not connected to the debug probe?
            Or is it necessary to connect the (grounded) TRSTN pin to the debug probe?

            Additionally in the OSD3358-SM-RED design TCKRTN is connected to TCK.
            Is this mandatory? What exactly does this do?

            Best,
            Marco

            Attachments:
          • #12326
            Neeraj Kumar Reddy DantuNeeraj Dantu
            Moderator

              Marco,

              It looks like you are using a tag-connect based solution for JTAG. Can you post the setup/connectors you are using?

              According to TI, TCKRTN, TRSTN, EMU0/1 connections are necessary for JTAG to work: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/768213/am3358-jtag-connection-of-am335x. TCKRTN is used for adaptive clocking as described here: https://dev.ti.com/tirex/explore/node?node=AOi9Jj0vmBMJ0KQKaKITgg__FUz-xrs__LATEST.

              Best,
              Neeraj

          Viewing 3 reply threads
          • You must be logged in to reply to this topic.