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.

Unable to access the DAP



I am working with the rm48 HDK and have the following output from CCS 5.5 when I try to debug:

Error connecting to the target:
(Error -1170 @ 0x0)
Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK).
(Emulation package 0.0.0.0)

I first listed this issue in the CCS forum, but later realized it was an issue with my boards rather than CCS. I have a few different boards to work with, and I think it is code I am loading on to it that is causing the problem. I have tried the trick of holding the reset button until NowFlash can connect with no success. Is there any other way of getting new code onto the device? Here is the code that i think causes it to quit working after being run. All the code is supposed to do is check if some array of data can be found at a certain address in SRAM. This is my first time writing assembly for ARM, so maybe I am just doing something wrong.

8816.checkSecretKey.asm

Thanks,

Westin

  • Also, if I click on "Test Connection" for my .ccxml in CCS, this is my output.

    [Start]

    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)]------------------------------------

    C:\Users\jwsykes\AppData\Local\.TI\693494126\
    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 'jioserdesusb.dll'.
    The library build date was 'Mar 9 2014'.
    The library build time was '22:27:48'.
    The library package version is '5.1.450.0'.
    The library component version is '35.34.40.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 512 32-bit words.

    The test for the JTAG IR instruction path-length succeeded.
    The JTAG IR instruction path-length is 6 bits.

    The test for the JTAG DR bypass path-length succeeded.
    The JTAG DR bypass path-length is 1 bits.

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

    This test will use blocks of 512 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.
    Scan tests: 2, skipped: 0, failed: 0
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0
    All of the values were scanned correctly.

    The JTAG IR Integrity scan-test has succeeded.

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

    This test will use blocks of 512 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.
    Scan tests: 2, skipped: 0, failed: 0
    Do a test using 0xFE03E0E2.
    Scan tests: 3, skipped: 0, failed: 0
    Do a test using 0x01FC1F1D.
    Scan tests: 4, skipped: 0, failed: 0
    Do a test using 0x5533CCAA.
    Scan tests: 5, skipped: 0, failed: 0
    Do a test using 0xAACC3355.
    Scan tests: 6, skipped: 0, failed: 0
    All of the values were scanned correctly.

    The JTAG DR Integrity scan-test has succeeded.

    [End]

  • Westin,

    Are you trying to use the AJSM module?
    To my knowledge, this is the only way to disable access to the DAP.
    If the default key in AJSM is changed than the device will be locked (from a debug access point of view)
    Only if the new programmed key is known, than there is way to unlock debug access.
    NOTE: A specific utility has to be used to provide this new key, and it has to be done on every power on reset.

    Please can you comment on this point?

  • No, I am not using the AJSM module.

    Thanks,

    Westin

  • Westin,

    So we have to look in another direction.
    The easiest way will be to try my setup the exact code you have programmed in the device.
    So will it be possible to share your project. If not publicly I can send you my email address.

    For your information, I'm in business trip this and next week. I can have a look from a code point of view.

    Please let me know. 

  • I can send it to your email.

    Thanks,

    Westin

  • I have steps that seemed to work for me. Maybe it will help somebody else out. Jean-Marc has steps for fixing this that can be found here: 

    http://e2e.ti.com/support/microcontrollers/hercules/f/312/t/327553.aspx?pi239031349=2

    These did not work for me immediately, but with some change, it worked. Using the JTAG port, I pulled TRST high and RESET low. Doing this got me to step 11 on his steps, but then CCS says something about not being able to reset the device. At this point I let the RESET pin float and hit retry. This allowed CCS to connect to it. From there I was able to clear the flash by clicking on "On-Chip Flash" in the Tools menu and clicking Erase Flash.

    Thanks for the help.